Polish contribution

This commit is contained in:
Rob Winch
2017-01-05 20:26:48 +01:00
committed by Vedran Pavic
parent 5c031989a8
commit d7c29652e7
46 changed files with 972 additions and 590 deletions

View File

@@ -28,8 +28,7 @@ dependencies {
"com.h2database:h2"
testCompile "org.springframework.boot:spring-boot-starter-test",
"org.assertj:assertj-core:$assertjVersion",
"org.projectlombok:lombok:$lombokVersion"
"org.assertj:assertj-core:$assertjVersion"
integrationTestCompile seleniumDependencies

View File

@@ -47,9 +47,7 @@ public class BootTests {
@Before
public void setup() {
this.driver = MockMvcHtmlUnitDriverBuilder
.mockMvcSetup(this.mockMvc)
.build();
this.driver = MockMvcHtmlUnitDriverBuilder.mockMvcSetup(this.mockMvc).build();
}
@After
@@ -61,14 +59,14 @@ public class BootTests {
public void home() {
LoginPage login = HomePage.go(this.driver);
login.assertAt();
HomePage home = login.login();
HomePage home = login.form().login(HomePage.class);
home.assertAt();
}
@Test
public void login() {
LoginPage login = HomePage.go(this.driver);
HomePage home = login.login();
HomePage home = login.form().login(HomePage.class);
home.containCookie("SESSION");
home.doesNotContainCookie("JSESSIONID");
}
@@ -76,7 +74,7 @@ public class BootTests {
@Test
public void logout() {
LoginPage login = HomePage.go(this.driver);
HomePage home = login.login();
HomePage home = login.form().login(HomePage.class);
login = home.logout();
login.assertAt();
}

View File

@@ -16,27 +16,21 @@
package sample.pages;
import org.openqa.selenium.SearchContext;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.pagefactory.DefaultElementLocatorFactory;
import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Eddú Meléndez
* @author Rob Winch
*/
public class LoginPage extends BasePage {
@FindBy(name = "username")
private WebElement username;
@FindBy(name = "password")
private WebElement password;
@FindBy(name = "submit")
private WebElement button;
public LoginPage(WebDriver driver) {
super(driver);
}
@@ -45,11 +39,31 @@ public class LoginPage extends BasePage {
assertThat(getDriver().getTitle()).isEqualTo("Login Page");
}
public HomePage login() {
this.username.sendKeys("user");
this.password.sendKeys("password");
this.button.click();
return PageFactory.initElements(getDriver(), HomePage.class);
public Form form() {
return new Form(getDriver());
}
public class Form {
@FindBy(name = "username")
private WebElement username;
@FindBy(name = "password")
private WebElement password;
@FindBy(name = "submit")
private WebElement button;
public Form(SearchContext context) {
PageFactory.initElements(new DefaultElementLocatorFactory(context), this);
}
public <T> T login(Class<T> page) {
this.username.sendKeys("user");
this.password.sendKeys("password");
this.button.click();
return PageFactory.initElements(getDriver(), page);
}
}
}