Como implementar tipos de usuário para a anotação @FindBy?
Estou tentando obter isso:
@FindBy(xpath = "//div/span/img")
public WebElement addNew;
@FindBy(xpath = "//tr[2]/td[12]")
public WebElement save;
@FindBy(xpath = "//td/div/input")
public WebElement entryIdel;
@FindBy(xpath = "//textarea")
public WebElement authorFieldel;
@FindBy(xpath = "//td[3]/div/textarea")
public WebElement titleFieldel;
naquela
@FindBy(xpath = "//div/span/img")
public Button addNew;
@FindBy(xpath = "//tr[2]/td[12]")
public Button save;
@FindBy(xpath = "//td/div/input")
public InputBox entryIdel;
@FindBy(xpath = "//textarea")
public InputBox authorFieldel;
@FindBy(xpath = "//td[3]/div/textarea")
public InputBox titleFieldel;
Eu criei uma classe para cada elemento anteriormente, mas é claro que nada acontece. Como posso criar minha classe de elemento para poder usá-la em vez do WebElement?
Aqui está o código da InputBox neste momento:
import org.openqa.selenium.WebElement;
public class InputBox {
protected WebElement element;
public WebElement getElement() {
return element;
}
public InputBox(WebElement element) {
this.element = element;
// TODO Auto-generated constructor stub
}
public void type(String input) {
clearText();
element.sendKeys(input);
}
public void clearText() {
element.clear();
}
public boolean isEditable() {
return element.isEnabled();
}
String getText() {
return element.getText();
}
String getValue() {
return element.getValue();
}
}