Selenium 测试用例在 Firefox 中有效,但在 Chrome 中无效 - Headless Setup

Selenium test cases work in Firefox but not in Chrome - Headless Setup

经过一段时间的拔毛,我 运行 别无选择。

我正在设置基于 selenium 的构建服务器,并且在引入 Google-Chrome.

之前取得了很大的成功

我现在可以通过 selenium 成功 运行 测试用例,甚至可以在 Firefox 上无头捕获屏幕截图,除了 Chrome 没有玩球。

我已经按照我能找到的所有步骤进行操作,从 运行ning 旧版本到重新安装,但没有成功。

当我调用 phpunit 并且测试设置为使用 Firefox 时,一切正常:

PHPUnit 5.7.20 by Sebastian Bergmann and contributors. Runtime: PHP 7.0.15-0ubuntu0.16.04.4 with Xdebug 2.4.0 Configuration: /private/var/www/functionaltests/vaimodev/tests/functional/phpunit.xml.dist . 1 / 1 (100%) Time: 10.61 seconds, Memory: 4.00MB OK (1 test, 1 assertion)

现在进行相同的测试,但设置为使用 chrome:

1) defaultTest::testTitle PHPUnit_Extensions_Selenium2TestCase_WebDriverException: unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"10699.1","isDefault":true},"id":1,"name":"","origin":"://"} (Session info: chrome=58.0.3029.110) (Driver info: chromedriver=2.9.248304,platform=Linux 4.4.0-72-generic x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 46 milliseconds Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' System info: host: 'm2.vaimo.dev', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-72-generic', java.version: '1.8.0_131' Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities [{applicationCacheEnabled=false, rotatable=false, chrome={userDataDir=/tmp/.com.google.Chrome.5OdRZX}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=58.0.3029.110, platform=LINUX, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] Session ID: 68262783c1d2f9aba29f813504ed9606

我按如下方式启动我的 selenium 实例:

DISPLAY=:8.8 java -Dwebdriver.gecko.driver=/home/vagrant/geckodriver -Dwebdriver.chrome.driver=/home/vagrant/chromedriver -Dchrome.binary=/opt/google/chrome/chrome -jar /home/vagrant/selenium-server-standalone-3.4.0.jar -port 4444 > /dev/null 2>&1 &

在此阶段,我们将不胜感激...

这看起来很奇怪,它太小了

Command duration or timeout: 46 milliseconds

作为选项,尝试增加超时(会话等)

另外查看代码可能会有帮助:)

找到问题....

第一个问题是chmod +x chromedriver不够用,我不得不加上chmod 775 chromedriver

第二个问题是菜鸟的错误...自我注意!

在 64 位系统上下载 64 位!!!!!!!!!! (捂脸)