java - 我们可以在类中初始化 WebDriverWait
问题描述
我们可以在类中使用 initialize [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
在你的方法中使用。
推荐阅读
- python - 通过用列表替换单元格值来扩展熊猫数据框
- spring - 推送到 GIT 时如何加密或保护密钥?
- node.js - 如何使用node js仅在设备温度大于25或小于19时发送一次警告消息
- r - 用 TukeyHSD 做部分数据
- axios - axios:是否可以不从链接中硬编码 HTTPS 协议
- javascript - 如何在单个 html 页面上添加反应
- python - Python - 如何解析 xml 响应并将元素值存储在变量中?
- laravel - Laravel 不会在刷新时在“迁移”表中创建记录
- android - 如何定义导航操作的默认动画?
- meteor - Meteor 升级到 1.6.1.1 会生成 MaxListenersExceededWarning