情况如下:我正在使用Behat在Symfony上运行验收测试。为此,我使用Geckodriver启动Selenium实例,然后运行Behat。当地一切都很好(太好了!)
但是,当它运行在吉特布行动,它失败了。我已经检查了版本,甚至已经对geckodriver和selenium.jar文件进行了版本化,以使用完全相同的(尽管它们已经存在于github操作中),但是没有任何工作。
因此,我正在寻找调试此错误的任何帮助。下面是命令及其结果:
$ java -jar -Dwebdriver.gecko.driver=/usr/local/share/gecko_driver /usr/share/java/selenium-server-standalone.jar &
14:19:46.106 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
14:19:46.369 INFO [GridLauncherV3.lambda$buildLaunchers$3] - Launching a standalone Selenium Server on port 4444
2020-05-29 14:19:46.780:INFO::main: Logging initialized @1350ms to org.seleniumhq.jetty9.util.log.StdErrLog
14:19:47.657 INFO [WebDriverServlet.<init>] - Initialising WebDriverServlet
14:19:47.758 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 4444
./vendor/bin/behat -s acceptance
Could not open connection: Unable to create new service: GeckoDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'fv-az33', ip: '10.1.0.4', os.name: 'Linux', os.arch: 'amd64', os.version: '5.3.0-1022-azure', java.version: '1.8.0_252'
Driver info: driver.version: unknown (Behat\Mink\Exception\DriverException)
发布于 2020-06-03 08:32:34
好吧,我刚解决了我的问题。我认为这是因为两件事:
$CHROMEWEBDRIVER/chromedriver
($GECKOWEBDRIVER相同)有关信息,这是我的behat配置:
javascript_session:
selenium2:
browser: chrome
capabilities:
chrome:
switches:
- "--headless"
- "--disable-gpu"
要运行Selenium:
java -Dwebdriver.chrome.driver=$CHROMEWEBDRIVER/chromedriver -jar $SELENIUM_JAR_PATH &
发布于 2020-05-29 23:40:04
这个错误信息..。
Driver info: driver.version: unknown (Behat\Mink\Exception\DriverException)
...implies表示,GeckoDriver没有被浏览上下文(即火狐浏览器)识别出来。
解决方案
确保:
Test
。tearDown(){}
方法中调用tearDown(){}
来关闭和销毁WebDriver和WebDriver实例。参考文献
您可以在以下几个方面找到相关的讨论:
https://stackoverflow.com/questions/62089077
复制相似问题