我的自动化框架使用的是selenium + TestNG + PageObject模型。
My Testng课程/测试用例:
nullpointer错误
如何将驱动程序实例传递给我的页面对象?
答案 0 :(得分:1)
我可以看到你在@BeforeTest
方法中声明了一个新的WebDriver实例。您需要使用在@BeforeTest
之外声明的WebDriver实例,即您已经声明了
static WebDriver driver;
在driver
内使用相同的@BeforeTest
。所以在before方法中,不要像WebDriver driver = new FirefoxDriver();
那样写driver = new FirefoxDriver();
对其他浏览器类型(即safari,chrome)执行相同操作。
对于页面对象类,您可以执行以下操作:
public class TaxPage {
public static WebDriver driver;
public TaxPage(WebDriver driver) {
this.driver = driver;
}
}
答案 1 :(得分:0)
创建如下所示的类,并在参数化构造函数中传递WebDriver,并在需要时调用Page.driver
之类的调用驱动程序
public class Page
{
public static WebDriver driver;
public Page(WebDriver driver)
{
Page.driver = driver;
}
}
希望它会对你有所帮助:)。