我使用mac mojave 10.14.3,JDK 1.8,Serenity core 2.0.40(最新)来开发我的测试用例。使用Chrome版本,它们都能很好地运行。 73(100%的时间)或Firefox版本。在我的本地mac系统上有65.0(99%的时间)。我们的Jenkins运行在没有GUI的Redhat linux上。我们安装了Firefox浏览器(Firefox版本60.5.0可能是最新版本),因为RH Linux不支持/不可用Chrome。当我合并代码并要求我的管理员在Jenkins上运行git分支时,我总是会遇到错误。
我在我的项目代码中有这些:Selenium-java:3.141.59
Selenium-api:3.141.59
Selenium-server:3.141.59
geckodriver:0.24.0
chromedriver:2.45.615355
今天在每次测试运行100%传递我的本地Mac系统后,运行Jenkins(RH Linux盒子)我收到此错误(运行2次)。
net.thucydides.core.webdriver.UnsupportedDriverException: Could not
instantiate class org.openqa.selenium.firefox.FirefoxDriver at
net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:154)
Caused by: net.thucydides.core.webdriver.UnsupportedDriverException:
Could not instantiate new WebDriver instance of type class
org.openqa.selenium.firefox.FirefoxDriver (Timed out waiting 45
seconds for Firefox to start. Build info: version: '3.141.59',
revision: 'e82be7d358', time: '2018-11-14T08:17:03'
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting
45 seconds for Firefox to start. Build info: version: '3.141.59',
revision: 'e82be7d358', time: '2018-11-14T08:17:03' System info: host:
'xxx', ip: 'xxx', os.name: 'Linux', os.arch: 'amd64', os.version:
'3.10.0-957.5.1.el7.x86_64', java.version: '1.8.0_202' Driver info:
driver.version: FirefoxDriver
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting
45 seconds for Firefox to start. Build info: version: '3.141.59',
revision: 'e82be7d358', time: '2018-11-14T08:17:03' System info: host:
'xxx', ip: 'xxx', os.name: 'Linux', os.arch: 'amd64', os.version:
'3.10.0-957.5.1.el7.x86_64', java.version: '1.8.0_202' Driver info:
driver.version: FirefoxDriver at
org.openqa.selenium.firefox.XpiDriverService.waitUntilAvailable(XpiDriverService.java:247)
According to this page, [Serenity BDD Book]https://serenity-bdd.github.io/theserenitybook/latest/web-testing-in-serenity.html
我准备我的config.properties文件为...
webdriver.driver=chrome
headless.mode = true
drivers.windows.webdriver.chrome.driver =
src/test/resources/webdriver/windows/chromedriver.exe
drivers.mac.webdriver.chrome.driver =
src/test/resources/webdriver/mac/chromedriver
drivers.linux.webdriver.chrome.driver =
src/test/resources/webdriver/linux/chromedriver
webdriver.driver=firefox
gecko.firefox.options = {"args": ["-headless"]}
drivers.mac.webdriver.gecko.driver =
src/test/resources/webdriver/mac/geckodriver
drivers.linux.webdriver.firefox.driver =
src/test/resources/webdriver/linux/geckodriver
但是我遇到了上面报告的问题UnsupportedDriverException:我需要说,一切都在我的本地Mac系统上完美运行,但不适用于使用Firefox浏览器60.5版本的RedHat Linux机器(应该与geckodriver 0.24.0配合使用)
但我们的Jenkins系统管理员将geckodriver添加到系统路径,然后它工作了!!!!!我们的Jenkins服务器在RedHat Linux上运行。