2016-06-09 174 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的作爲虛擬顯示運行測試,這樣瀏覽器窗口可以呈現。