检查是否通过系统属性安装了FirefoxDriver或ChromeDriver



我有一组在各种浏览器中运行的Web测试。如果未安装相应的驱动程序,我想跳过测试。

但是,这些测试将由不同的计算机执行,这意味着操作系统和驱动程序设置会有所不同。我想知道是否有某种方法可以使用 JUnit.assumeNotNull() 来检查驱动程序的系统属性值是否不为空?

例如:

@Before
public void checkForDriver() {
    assumeNotNull(System.getProperty("webdriver.chrome.driver"));
}

@Before
public void setupCheck() {        
    assumeNotNull(System.getProperty("webdriver.safari.driver"));
}

这适用于chrome和其他浏览器,但是对于Firefox,我一直在检查"webdriver.firefox.bin"和"webdriver.firefox.driver",测试仍然跳过。我知道火狐驱动程序应该工作正常(如果我删除假设,测试将运行并通过)。

检查是否安装了驱动程序/浏览器的任何建议或其他好方法?

为了在IE或Chrome上运行Selenium,您需要在测试客户端计算机上安装一些额外的二进制文件。相比之下,FirefoxDriver 是 Selenium 不可或缺的一部分。因此,如果您运行Selenium,则测试是否安装了FirefoxDriver实际上没有意义。

如果您的测试客户端计算机上没有安装 Firefox 作为浏览器,您应该探测 Firefox 浏览器系统属性,而不是 FirefoxDriver

最新更新