2016-12-06 73 views
2

我試圖用量角器在虛擬機上,並正在錯誤代碼199虛擬機上NodeJS的量角器 - 如何修復錯誤199?

我下面這個教程完全相同的步驟 - 當我在進入量角器conf.js http://www.protractortest.org/#/tutorial

命令行中,我得到以下錯誤:

[14:51:31] I/hosted - Using the selenium server at (my url here) 
[14:51:31] I/launcher - Running 1 instances of WebDriver 
[14:51:51] E/launcher - null 
[14:51:51] E/launcher - WebDriverError: null 
at WebDriverError (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:27:5) 
at Object.checkLegacyResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:639:15) 
at parseHttpResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:538:13) 
at client_.send.then.response (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:472:11) 
at ManagedPromise.invokeCallback_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1379:14) 
at TaskQueue.execute_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2913:14) 
at TaskQueue.executeNext_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2896:21) 
at asyncRun (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2820:25) 
at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:639:7 
at process._tickCallback (internal/process/next_tick.js:103:7) 
From: Task: WebDriver.createSession() 
at Function.createSession (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:329:24) 
at Builder.build (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/builder.js:458:24) 
at Hosted.DriverProvider.getNewDriver (/usr/local/lib/node_modules/protractor/built/driverProviders/driverProvider.js:37:33) 
at Runner.createBrowser (/usr/local/lib/node_modules/protractor/built/runner.js:197:43) 
at /usr/local/lib/node_modules/protractor/built/runner.js:276:30 
at _fulfilled (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:834:54) 
at self.promiseDispatch.done (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:863:30) 
at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:796:13) 
at /usr/local/lib/node_modules/protractor/node_modules/q/q.js:556:49 
at runSingle (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:137:13) 

[14:51:51] E/launcher - Process exited with error code 199 

問題是不連接到webdriver的,因爲我已經暴露的端口,並可以訪問網址並查看樞紐它。

謝謝。

+0

你可以發佈你量角器配置文件。 – Barney

+0

請檢查瀏覽器是否正確安裝在虛擬機中。只有當瀏覽器不在機器中時,量角器纔會拋出'WebDriverError:null'錯誤。 –

+1

其他好奇心:你正在使用哪種量角器?你運行webdriver-manager更新了嗎?你的虛擬機是無頭的嗎?你有沒有安裝正確的瀏覽器? – cnishina

回答

2

經過大量的刺激,運行strace,手動運行等我設法在debian/devuan上得到這個底部。如果我手動運行chromium,它工作正常(Chrome會出現,我可以瀏覽)。但是每次我跑protractor時間也就長掛依次爲:

E/launcher - null 
E/launcher - WebDriverError: null 

straceprotractor被顯示selenium被返回500系列錯誤。看着ps uwww讓我看到了當時正在執行以下命令:

java -Dwebdriver.chrome.driver=.../webdriver-manager/selenium/chromedriver_2.26 
-jar .../selenium-server-standalone-2.53.1.jar -port 60987 

手動運行此,連接到該實例,創建一個新的會話,並選擇鍍鉻給了錯誤:

.../webdriver-manager/selenium/chromedriver_2.26: error while loading shared libraries: 
libgconf-2.so.4: cannot open shared object file: No such file or directory 

在安裝libgconf2apt-get install libgconf-2-4(在Devuan Jessie上),然後修復手動創建的selenium實例和protractor測試。

+0

謝謝,我會給它一個! – Max

+0

仍然無法解決它,同樣的問題 – sg28

+0

@ sg28錯誤199可以用量角器覆蓋大量的錯誤,你需要打開一個單獨的問題,或鏈接你的錯誤日誌[pastebin](http:// pastebin .com),所以我可以擴展答案以涵蓋不同的場景。 –