use*_*836 1 java selenium webdriver nullpointerexception selenium-webdriver
出于某种原因,当我调用方法Spage.editExButton(int ID)时,我收到一条错误,指出WebElement首先为null.为什么它为空?我使用@FindBy注释定义了它.我必须使用findElement(By.id("xxx"))显式定义元素,以便能够单击它.但为什么我无法使用@FindBy表示法来调用它?
public class SPage extends GPage<SPage> {
public SPage() {
super();
}
public SPage(String pageType) {
super(pageType);
}
@FindBy(id = "xxx")
WebElement first;
public WebElement eButton(int ID) {
first.click();
String tmp = ID + "-Edit";
WebElement edit = getDriver().findElement(By.id(tmp));
return edit;
}
public EPage cEdit(int ID) {
eButton(ID).click();
return new EPage(getBasePageType()).openPage(EPage.class);
}
}
Run Code Online (Sandbox Code Playgroud)
我正在调用这样的方法:
static EPage epage;
static SPage spage;
@Test
public void edit_exception() {
epage = spage.cEdit(IDbefore);
}
Run Code Online (Sandbox Code Playgroud)
你需要调用它(最好在你的构造函数中):
PageFactory.initElements(getDriver(), this);
Run Code Online (Sandbox Code Playgroud)
更多信息:https://code.google.com/p/selenium/wiki/PageFactory
| 归档时间: |
|
| 查看次数: |
7342 次 |
| 最近记录: |