2017-05-26 29 views
0

經過一段時間的拔毛之後,我用盡了選擇。硒測試用例可在Firefox中使用,但不能在Chrome中使用 - 無頭設置

我正在建立一個基於selenium的構建服務器,並且在引入Google-Chrome的過程中取得了很大的成功。

我現在可以通過硒成功運行一個測試用例,甚至可以捕獲截圖,但Firefox沒有任何問題,除Chrome之外沒有任何問題。

我遵循從運行舊版本到重新安裝而沒有運氣的所有步驟。

當我打電話的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)

而現在同樣的測試,但設置爲使用鉻:

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

我開始了我的硒實例如下:

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 &

任何幫助會在這個階段可以理解...

+0

您是否安裝了最新版本的selenium和chromedriver?我看到了某些版本的chromedriver中的錯誤報告:[Chrome v54引發SessionNotCreatedError並退出](https://github.com/SeleniumHQ/selenium/issues/2614) –

+0

當前在最新版本的兩個乾淨的Vagrant實例上運行雖然我已經試着同時降級所有這些,並且每個版本的變體都給了我相同的結果... – Kamakazy

回答

0

發現問題...

第一個問題是,chmod +x chromedriver是不夠的,我不得不chmod 775 chromedriver它。

第二個問題是一個菜鳥的錯誤...注意自我!

在64bit系統上下載64bit !!!!!!!!!! (facepalm)

+0

沒關係。 雖然現在創建了chrome會話,但運行測試時仍然收到錯誤消息。 'defaultTest :: testTitle PHPUnit_Extensions_Selenium2TestCase_WebDriverException:unknown error:Runtime.executionContextCreated has invalid'context':{「auxData」:{「frameId」:「14488.1」,「isDefault」:true},「id」:1,名稱「:」「,」origin「:」://「}' – Kamakazy

+0

問題已解決...版本2.9早於2.29。 請務必下載'https:// chromedriver.storage.googleapis.com/2.29/chromedriver_linux64.zip' – Kamakazy

+0

'wget https:// chromedriver.storage.googleapis.com/2.29/chromedriver_linux64.zip' 'unzip' – Kamakazy

0

這看起來奇怪,它太小

Command duration or timeout: 46 milliseconds

爲選項,嘗試增加超時(會話&等)

也能看到代碼可以幫助:)

+0

你在找什麼代碼?我會盡快分享。 – Kamakazy

+0

我想知道 - 你是否使用了任何DriverCapabilities,以及在什麼時候測試失敗?就在創建瀏覽器會話? – SAZ

+0

如上所述,使用它開箱即用......沒有指定驅動程序功能......它似乎無法創建會話...即使嘗試通過網絡實例執行此操作,它只是無法創建會話,但FF是完美的....我現在試圖尾隨日誌作爲過程發生,看看我是否可以發現任何東西... – Kamakazy

相關問題