我有以下的Java类(实现页面对象模式)NPE在构造函数被调用
package core.pageObjects;
import org.openqa.selenium.*;
public class ConsultaClientePorDocumento {
private WebDriver driver;
public ConsultaClientePorDocumento(WebDriver d){
this.driver = d;
}
public WebElement cancelarButton = driver.findElement(By.id("Cancelar"));
}
然后我尝试使用它在我的测试是这样的:
import core.pageObjects.*;
ConsultaClientePorDocumento consultaCPD = new ConsultaClientePorDocumento(driver);
我也得到出现以下错误:
java.lang.NullPointerException
at core.pageObjects.ConsultaClientePorDocumento.<init>(ConsultaClientePorDocumento.java:16)
我在做什么错?
我明白了,谢谢! 问题是,当测试需要它们而不是页面构造器阶段时,页面的每个WebElement应该被初始化。 所以我想我会需要某种方法来初始化元素被调用时的WebElement。像这样: public WebElement cancelarButton(){ WebElement cancelarButton = driver.findElement(By.id(“id”); return cancelarButton } – user3245906 2014-10-07 21:52:04