如何在并行运行测试时调用PageFactory.InitElements(driver, this)
?我是否需要:在我的Page类中挂钩?我是否应该通过以下方式将驱动程序传递给我的测试页面:
Login pgLogin = PageFactory.InitElements(driver, Login.class);
我怀疑我是第一个使用Page Object Model + Page Factory + C#+ NUnit3在Selenium Grid上并行测试构建框架的人。但是找不到很多例子。大多数都非常简单,描述了驱动程序设置和一个方法中的测试,但是当通过多个测试添加复杂性并引用Page.cs中的对象时,需要额外的逻辑,我只是不知道。
以下代码:
答案 0 :(得分:0)
您可以将驱动程序对象传递给页面对象类:
测试方法如:
WebDriver driver;
public void yourTest(){
Login login = new Login(driver);
your rest of the code ......
}
页面对象类:
class Login{
WebDriver driver;
public Login(WebDriver driver){
this.driver = driver;
PageFactory.InitElements( this.driver, this);
............... your code
}
// required page elements like txtEmail.
}