我有一组在各种浏览器中运行的Web测试。如果没有安装相应的驱动程序,我想跳过测试。
然而,这些将由不同机器执行的测试,即OS和驱动程序设置将有所不同。我想知道是否有某种方法可以使用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”,测试仍然会跳过。我知道firefoxDriver应该工作正常(如果我删除了假设,测试运行并通过)。
检查是否安装了驱动程序/浏览器的任何建议或其他好方法?
答案 0 :(得分:-1)
要使用IE或Chrome运行Selenium,您需要在测试客户端计算机上安装一些额外的二进制文件。相比之下,FirefoxDriver是Selenium不可或缺的一部分。因此,如果你运行Selenium,测试是否安装了FirefoxDriver并不合理。
如果您的测试客户端计算机上未安装Firefox浏览器,则应探测 Firefox浏览器系统属性,而不是 FirefoxDriver 。