我们可以在类中使用初始化[WebDriverWait wait = new WebDriverWait(driver,10);] WebDriverWait吗?
假设在一个类中我有10个方法,所以我没有在每个方法中初始化等待10次,而是在所有方法之外和该类中初始化一次。
我有一个框架,可以从excel表格中读取数据并运行测试方法。现在,当我在方法之外初始化等待时,我发现没有从excel中读取数据,浏览器关闭了。
与数据读取器无关。在方法之外初始化等待时出现了一些问题。
相同情况下,我试图在这10种方法中初始化等待,这没问题。
任何原因吗?
除非您有一些WebDriverFactory
,它允许您在初始化对象之前将driver
传递给new WebDriverWait()
,否则您不能直接将其初始化为实例变量。但是,您可以尝试在构造函数中将其初始化,如下所示:
public class PageObject {
private WebDriverWait wait;
public PageObject(WebDriver driver) {
PageFactory.initElements(driver, this);
wait = new WebDriverWait(driver, 10);
}
}
然后在您的方法中使用wait
。