我们可以在类内部初始化WebDriverWait

问题描述 投票:-1回答:1

我们可以在类中使用初始化[WebDriverWait wait = new WebDriverWait(driver,10);] WebDriverWait吗?

假设在一个类中我有10个方法,所以我没有在每个方法中初始化等待10次,而是在所有方法之外和该类中初始化一次。

我有一个框架,可以从excel表格中读取数据并运行测试方法。现在,当我在方法之外初始化等待时,我发现没有从excel中读取数据,浏览器关闭了。

与数据读取器无关。在方法之外初始化等待时出现了一些问题。

相同情况下,我试图在这10种方法中初始化等待,这没问题。

任何原因吗?

java selenium-webdriver webdriverwait
1个回答
0
投票

除非您有一些WebDriverFactory,它允许您在初始化对象之前将driver传递给new WebDriverWait(),否则您不能直接将其初始化为实例变量。但是,您可以尝试在构造函数中将其初始化,如下所示:

public class PageObject {
    private WebDriverWait wait;

    public PageObject(WebDriver driver) {
        PageFactory.initElements(driver, this);
        wait = new WebDriverWait(driver, 10);
    }
}

然后在您的方法中使用wait

© www.soinside.com 2019 - 2024. All rights reserved.