在Java中,检查Selenium WebDriver是否已退出的最佳方法
我需要检查一组页面对象,以查看每个对象是否在其WebDriver上调用了quit()。
我编写了以下方法来检查WebDriver的状态:
public static boolean hasQuit(WebDriver driver) { try {
driver.getTitle();
return false;
} catch (SessionNotFoundException e) {
return true;
}
}
问题就在这里:我不喜欢抛出异常来发现布尔值的真相,但是由于
没有提供检查驱动程序是否退出的方法,因此我似乎别无选择。
所以我的问题是,
我在这里找到了一个类似的问题(但更普遍),但是问题没有尝试过任何代码,唯一的答案是退出后始终将WebDriver设置为null(我不一定可以控制) 。
回答:
如果quit()
已调用,则driver.toString()
返回null:
>>> FirefoxDriver: firefox on XP (null))
否则,它将返回对象的哈希码:
>>> FirefoxDriver: firefox on XP (9f897f52-3a13-40d4-800b-7dec26a0c84d)
因此您可以在分配布尔值时检查null:
boolean hasQuit = driver.toString().contains("(null)");
以上是 在Java中,检查Selenium WebDriver是否已退出的最佳方法 的全部内容, 来源链接: utcz.com/qa/414379.html