我正在使用 mac mojave 10.14.3、JDK 1.8、Serenity core 2.0.40(最新)来开发我的测试用例。它们在 Chrome 版本中都运行得很好。 73(100% 时间)或 Firefox 版本。在我的本地 Mac 系统上为 65.0(99% 的时间)。 我们的 Jenkins 在 Redhat Linux 上运行,没有 GUI。我们安装了 Firefox 浏览器(Firefox 版本 60.5.0 可能是最新版本),因为 RH Linux 不支持/不可用 Chrome。当我合并代码并要求管理员在 Jenkins 上运行 git 分支时,我总是遇到错误。
I have these in my project code itself: Selenium-java :3.141.59
Selenium-api: 3.141.59
Selenium-server: 3.141.59
geckodriver:0.24.0
chromedriver:2.45.615355
今天,在我的本地 Mac 系统上运行的每个测试都 100% 通过后,在 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 文件准备为...
Chrome 浏览器 headless 测试
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
Firefox 浏览器 headless 测试
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 上运行。
关于selenium - net.thucydides.core.webdriver.UnsupportedDriverException : Could not instantiate class org. openqa.selenium.firefox.FirefoxDriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55302566/