2016-06-09 137 views
1

我用量角器+硒与grunt。测试在我的机器(mac)上完全在Chrome和Firefox上运行。但在CENTOS 6.5上,它不适用于Chrome。 Firefox在CENTOS机器上运行。如果我从PATH变量中删除Chromedriver,我会得到相同的错误。所以我知道它不是导致问题的Chromedriver,因为我也在量角器配置文件中指定了它。我怎么知道这是一个硒问题还是一个chromedriver问题?我做了一个“npm install”并且有“chromedriver”:“^ 2.21.2”,“量角器”:“^ 3.3.0”,“selenium-server-standalone-jar”:“^ 2.53.0”,“ webdriver-manager“:在package.json中指定的”^ 10.0.2“。运行grunt命令时会出现什么问题?詹金斯+ Webdriver错误+铬+

我得到的错误是

grunt --ENV=qa --clientName=clientname --device=desktop e2e-test 
[4mRunning "protractor:continuous" (protractor) task[24m 
[16:00:05] I/local - Starting selenium standalone server... 
[16:00:05] I/launcher - Running 1 instances of WebDriver 
[16:00:06] I/local - Selenium standalone server started at 
/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/error.js:27 
    super(opt_error); 
    ^
WebDriverError: null 
    at WebDriverError (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/error.js:27:5) 
    at Object.checkLegacyResponse (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/error.js:580:13) 
    at /var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/webdriver.js:64:13 
    at Promise.invokeCallback_ (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/promise.js:1329:14) 
    at TaskQueue.execute_ (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/promise.js:2790:14) 
    at TaskQueue.executeNext_ (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/promise.js:2773:21) 
    at asyncRun (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/promise.js:2652:27) 
    at /var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/promise.js:639:7 
    at process._tickCallback (internal/process/next_tick.js:103:7) 
From: Task: WebDriver.createSession() 
    at acquireSession (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/webdriver.js:62:22) 
    at Function.createSession (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/webdriver.js:295:12) 
    at Builder.build (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/builder.js:458:24) 
    at Local.DriverProvider.getNewDriver (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/protractor/built/driverProviders/driverProvider.js:37:33) 
    at Runner.createBrowser (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/protractor/built/runner.js:182:43) 
    at /var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/protractor/built/runner.js:255:30 
    at _fulfilled (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/q/q.js:834:54) 
    at self.promiseDispatch.done (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/q/q.js:863:30) 
    at Promise.promise.promiseDispatch (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/q/q.js:796:13) 
    at /var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/q/q.js:604:44 
[16:00:27] E/launcher - Process exited with error code 1 
[31m>> [39m/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/error.js:27[31m 
>> [39m super(opt_error);[31m 
>> [39m ^[31m 
>> [39mWebDriverError: null[31m 
>> [39m at WebDriverError (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/error.js:27:5)[31m 
>> [39m at Object.checkLegacyResponse (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/error.js:580:13)[31m 
>> [39m at /var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/webdriver.js:64:13[31m 
>> [39m at Promise.invokeCallback_ (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/promise.js:1329:14)[31m 
>> [39m at TaskQueue.execute_ (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/promise.js:2790:14)[31m 
>> [39m at TaskQueue.executeNext_ (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/promise.js:2773:21)[31m 
>> [39m at asyncRun (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/promise.js:2652:27)[31m 
>> [39m at /var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/promise.js:639:7[31m 
>> [39m at process._tickCallback (internal/process/next_tick.js:103:7)[31m 
>> [39mFrom: Task: WebDriver.createSession()[31m 
>> [39m at acquireSession (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/webdriver.js:62:22)[31m 
>> [39m at Function.createSession (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/lib/webdriver.js:295:12)[31m 
>> [39m at Builder.build (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/selenium-webdriver/builder.js:458:24)[31m 
>> [39m at Local.DriverProvider.getNewDriver (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/protractor/built/driverProviders/driverProvider.js:37:33)[31m 
>> [39m at Runner.createBrowser (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/protractor/built/runner.js:182:43)[31m 
>> [39m at /var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/protractor/built/runner.js:255:30[31m 
>> [39m at _fulfilled (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/q/q.js:834:54)[31m 
>> [39m at self.promiseDispatch.done (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/q/q.js:863:30)[31m 
>> [39m at Promise.promise.promiseDispatch (/var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/q/q.js:796:13)[31m 
>> [39m at /var/lib/jenkins/workspace/Smoke+Regression tests/node_modules/q/q.js:604:44 
[32m>> [39mTest failed but keep the grunt process alive. 
+0

你有没有找到解决这个问题的方法?我在Jenkins量角器测试中遇到同样的错误。 – JCC

+0

@JCC我搜索了很多这个问题。虽然我还没有找到解决方案,但我发现这个“超级(opt_error)”出现时,它似乎就像Chromedriver没有启动。执行以下操作:在服务器上将Java升级到1.8运行。在我的情况下,这是CENTOS 6.5机器,很遗憾,由于公司政策问题,我们无法升级。这就是说我已经使用的解决方法是让它在Saucelabs上运行。如果你的公司没有得到认证,我会认真推荐购买。我会很快将我的项目发布到Github。我会在这里发表评论。 – writetocynthia

+1

谢谢,我可以通过安装xvfb,无头驱动程序,然后在Jenkins上使用相同的插件来解决此错误。但现在我有其他的错误,这不是。 – JCC

回答

0

因为你的服务器没有显示,则需要使用xvfb的作为虚拟显示运行测试,这样浏览器窗口可以呈现。