【发布时间】:2016-05-19 07:05:50
【问题描述】:
当我为 WebDriver 使用静态对象引用并并行运行测试时,我开始遇到问题。
public static WebDriver driver;
因此我决定为 WebDriver 使用非静态对象引用。
private WebDriver driver;
现在当我将 POM 与 Page Factory 一起使用时,我的理解是每次创建测试时,我都必须在测试类中创建一个新对象,如下所示。
/* Page Object 类中的构造函数 */
private WebDriver driver;
public LoginPage(WebDriver driver) {
this.driver = driver;
PageFactory.initElements(driver, this);
}
同一个类中的2个测试用例如下所示。
private LoginPage loginPage;
@Test
public void testCase1() {
loginPage = new LoginPage(getDriver());
loginPage.sendkeys("sometext");
}
@Test
public void testCase2() {
loginPage = new LoginPage(getDriver());
loginPage.sendkeys("sometext");
}
我的问题是
- 我是否正确地为每个测试用例创建页面对象?
- 有什么办法可以优化这个吗?因为我有一个疑问是,如果我并行运行它们,非静态对象引用可能会被覆盖并导致其中一种方法出现问题。
对不起,如果我的问题是幼稚的。任何帮助将不胜感激。
【问题讨论】:
标签: selenium selenium-webdriver testng