Пишете много тестов с использованием WebDriver? Активно используете паттерн PageObject? Спорим, у вас есть небольшая обёрточка для WebElement’ов и парочка утилитных классов для более удобной работы с ними? Не изобретайте велосипед! Я расскажу вам об открытом решении, в котором уже есть «всё что нужно, чтобы жить дружно».
76. public class Form extends TypifiedElement {
public void fill(Map<String, Object> data)
{...}
public <T> void fill(T bean,
Converter beanToMapConverter) {...}
...
}
76
77. public class Table extends TypifiedElement {
public List<WebElement> getHeadings() {}
public List<List<WebElement>> getRows() {}
public List<List<WebElement>> getColumns() {}
}
77
78. public class Link extends TypifiedElement {
! public Link(WebElement wrappedElement) {
! ! super(wrappedElement)
! }
......
}
78
79. public class Link extends TypifiedElement {
......
! public void click() {…}
! public String getReference() {…}
! public String getText(){…}
}
79