2016-12-06 79 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),所以我可以扩展答案以涵盖不同的场景。 –