Selenium Webdriver问题:引发了UnreachableBrowserException

时间:2015-11-07 17:38:18

标签: selenium selenium-webdriver protractor

我正在尝试设置一个持续的投放管道,并始终提出UnreachableBrowserException

这是完整的堆栈跟踪:

17:20:05.970 ERROR - org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
17:20:05.977 WARN - Exception thrown
java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'ct-10-0-180-116', ip: '10.0.180.116', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-042stab105.14', java.version: '1.8.0_51'
Driver info: driver.version: unknown
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at org.openqa.selenium.remote.server.DefaultSession.execute(DefaultSession.java:183)
    at org.openqa.selenium.remote.server.DefaultSession.<init>(DefaultSession.java:119)
    at org.openqa.selenium.remote.server.DefaultSession.createSession(DefaultSession.java:95)
    at org.openqa.selenium.remote.server.DefaultDriverSessions.newSession(DefaultDriverSessions.java:125)
    at org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:58)
    at org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:1)
    at org.openqa.selenium.remote.server.rest.ResultConfig.handle(ResultConfig.java:111)
    at org.openqa.selenium.remote.server.JsonHttpCommandHandler.handleRequest(JsonHttpCommandHandler.java:175)
    at org.openqa.selenium.remote.server.DriverServlet.handleRequest(DriverServlet.java:202)
    at org.openqa.selenium.remote.server.DriverServlet.doPost(DriverServlet.java:164)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.openqa.selenium.remote.server.DriverServlet.service(DriverServlet.java:130)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.openqa.jetty.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
    at org.openqa.jetty.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:680)
    at org.openqa.jetty.jetty.servlet.ServletHandler.handle(ServletHandler.java:571)
    at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1526)
    at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1479)
    at org.openqa.jetty.http.HttpServer.service(HttpServer.java:920)
    at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820)
    at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:986)
    at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837)
    at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.java:243)
    at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:358)
    at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:537)
Caused by: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'ct-10-0-180-116', ip: '10.0.180.116', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-042stab105.14', java.version: '1.8.0_51'
Driver info: driver.version: unknown
    at org.openqa.selenium.remote.server.DefaultDriverProvider.callConstructor(DefaultDriverProvider.java:113)
    at org.openqa.selenium.remote.server.DefaultDriverProvider.newInstance(DefaultDriverProvider.java:97)
    at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:60)
    at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:222)
    at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:176)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at org.openqa.selenium.remote.server.DefaultDriverProvider.callConstructor(DefaultDriverProvider.java:103)
    ... 9 more
Caused by: org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'ct-10-0-180-116', ip: '10.0.180.116', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-042stab105.14', java.version: '1.8.0_51'
Driver info: driver.version: ChromeDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:589)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:242)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:141)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:138)
    ... 14 more
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'ct-10-0-180-116', ip: '10.0.180.116', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-042stab105.14', java.version: '1.8.0_51'
Driver info: driver.version: ChromeDriver
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:170)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:63)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:568)
    ... 19 more
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:20882/status] to be available after 20010 ms
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:104)
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:167)
    ... 21 more
Caused by: com.google.common.util.concurrent.UncheckedTimeoutException: java.util.concurrent.TimeoutException
    at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:143)
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:79)
    ... 22 more
Caused by: java.util.concurrent.TimeoutException
    at java.util.concurrent.FutureTask.get(FutureTask.java:205)
    at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:130)
    ... 23 more
17:20:05.986 WARN - Exception: null

/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:108
  var template = new Error(this.message);
                 ^
UnknownError: null
    at new bot.Error (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:108:18)
    at Object.bot.response.checkResponse (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/response.js:109:9)
    at /opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:160:24
    at [object Object].promise.ControlFlow.runInFrame_ (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1857:20)
    at [object Object].goog.defineClass.notify (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2448:25)
    at [object Object].promise.Promise.notify_ (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:564:12)
    at Array.forEach (native)
    at [object Object].promise.Promise.notifyAll_ (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:553:15)
    at goog.async.run.processWorkQueue (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/async/run.js:130:15)
    at runMicrotasksCallback (node.js:337:7)
From: Task: WebDriver.createSession()
    at Function.webdriver.WebDriver.acquireSession_ (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:157:22)
    at Function.webdriver.WebDriver.createSession (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:131:30)
    at [object Object].Builder.build (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/selenium-webdriver/builder.js:445:22)
    at [object Object].DriverProvider.getNewDriver (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/lib/driverProviders/driverProvider.js:38:7)
    at [object Object].Runner.createBrowser (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/lib/runner.js:182:37)
    at /opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/lib/runner.js:263:21
    at _fulfilled (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/q/q.js:797:54)
    at self.promiseDispatch.done (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/q/q.js:826:30)
    at Promise.promise.promiseDispatch (/opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/q/q.js:759:13)
    at /opt/local/nvm/versions/node/v0.12.0/lib/node_modules/protractor/node_modules/q/q.js:525:49
[launcher] Process exited with error code 1

以下是我的bash脚本中的相关部分:

#Install protractor and webdriver & start webdriver
npm install -g protractor
webdriver-manager update
webdriver-manager start&

#Install and start application
./gradlew assemble
java -jar bignibou-server/build/libs/bignibou-server.jar&

#Run end2end tests
protractor bignibou-client/protractor.conf.js

有人可以帮忙吗?

编辑1 :来自protractor.conf.js

exports.config = {
    seleniumAddress: 'http://localhost:4444/wd/hub',
    specs: ['test/e2e/*.spec.e2e.js']
};

if (process.env.SNAP_CI) {
    exports.config.chromeDriver = '/usr/local/bin/chromedriver';
}

编辑2 :来自我的end2end测试:

describe('Signin page', function () {
    beforeEach(function(){
        browser.get('http://localhost:8080/#/signin');
        browser.refresh();
    });
    it('should allow user to signin', function () {
        element(by.model('credentials.username')).sendKeys('balteo@example.fr');
        element(by.model('credentials.password')).sendKeys('------');
        element(by.id('submit')).click();
        expect(element(by.tagName('h2')).getText()).toBe('Dashboard');
    });
});

0 个答案:

没有答案