12. public class CommonUserSteps {
public CommonUserSteps(WebDriver driver) {
...
}
public SearchPage onSearchPage() {
return searchPage;
}
public void loginAsCommonUser() {
User user = UserFactory.getCommonUser();
onSearchPage().authorize(user.getLogin, user.getPassword);
}
public void searchFor(String request) {
onSearchPage().searchFor(request);
}
public void shouldSeeSearchResults() {
assertTrue(onSearchPage().isSearchResultsBlockDisplayed());
}
}
14. public class SearchResultsTest {
private WebDriver driver = new FirefoxDriver();
private CommonUserSteps user = new CommonUserSteps(driver);
@Before
public void loadPage() {
driver.get("http://www.yandex.ru");
}
@Test
public void shouldSeeSearchResultsWhenLookingUp() {
user.searchFor("PageObject");
user.shouldSeeSearchResults();
}
@After
public void closeDriver() {
driver.quit();
}
}
55. public class Checkbox extends TypifiedElement {
public WebElement getLabel(){...}
public String getLabelText(){...}
public String getText(){...}
public void select(){...}
public void deselect(){...}
public void set(boolean checked){...}
public boolean isSelected(){...}
}
Checkbox
56. public class Radio extends TypifiedElement {
public List<WebElement> getButtons(){...}
public WebElement getSelectedButton(){...}
public void selectByValue(String value){...}
public void selectByIndex(int index){...}
}
Radio
57. public class Select extends TypifiedElement {
public boolean isMultiple(){...}
public List<WebElements> getOptions(){...}
public List<WebElement> getAllSelectedOptions(){...}
public WebElement getFirstSelectedOption(){...}
public void selectByVisibleText(String text){...}
public void selectByIndex(int index){...}
public void selectByValue(String value){...}
public void deselectAll(){...}
public void deselectByValue(String value){...}
public void deselectByIndex(int index){...}
public void deselectByVisibleText(String text){...}
}
Select
58. Form
public class Form extends TypifiedElement {
public void fill(Map<String, Object> data){...}
public <T> void fill(T bean, Converter Converter){...}
protected WebElement findFiledByKey(String key){...}
protected void fillField(WebElement e, Object value){...}
public WebElement findFirstField(By by){...}
public List<WebElement> findFields(By by){...}
public List<WebElement> findSelectsBy(By by){...}
}
60. public class SearchPage {
@FindBy(className = "b-domik")
private Form authorizationForm;
}
public class CommonUserSteps {
public void loginAsCommonUser() {
User user = UserFactory.getCommonUser();
HashMap<String, Object> userHash = convert(user);
onSearchPage().getAuthorizationForm.fill(userHash);
}
}
public class CommonUserSteps {
public void loginAsCommonUser() {
User user = UserFactory.getCommonUser();
HashMap<String, Object> userHash = convert(user);
onSearchPage().getAuthorizationForm.fill(userHash);
}
}
public class User {
@WebInput("login")
public String login;
@WebInput("passwd")
public String password;
}
61. public class Table extends TypifiedElement {
public List<WebElement> getHeadings(){...}
public List<String> getHeadingsAsString(){...}
public List<List<WebElement>> getRows(){...}
public List<List<WebElement>> getColumns(){...}
public WebElement getCellAt(int i, int j){...}
public List<Map> getRowsMappedToHeadings() {...}
public List<Map> getRowsMappedToHeadings(List<String> h){...}
public List<Map> getRowsAsStringMappedToHeadings(){...}
public List<Map> getRowsAsStringMappedToHeadings(List h){...}
}
Table
62. public class User {
@WebInput("login")
public String login;
@WebInput("passwd")
public String password;
}
Login Passwd
eroshenkoam c4fmUDTmbCzy8d
autotester 7cRrTT7g
63. public class User {
@WebInput("login")
public String login;
@WebInput("passwd")
public String password;
}
public class SearchUserSteps {
public List<User> findAllUsers() {
Table usersTable = onSomeSecretPage().getUsersTable();
List<Map> hash = usersTable.getRowsMappedToHeadings();
List<User> users = convert(hash);
return users;
}
}
public class SomeSecretePage {
@FindBy(className = "b-secret")
private Table users;
}