在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

回到顶部