WebDriverError:未知错误:Chrome无法启动:异常退出

时间:2016-06-08 03:36:02

标签: google-chrome selenium webdriver protractor headless-browser

我想要实现的目标 在Ubuntu 14 non gui上成功运行无头镀铬的量角器测试。

设置 使用多个参考页面我已成功安装:Xvfb Chrome最新浏览器Protractor 3.3.0 Java 7(也尝试使用Java 8)并且还设置了LOCAL_HOME。此外,设法使用this reference.

启动Xvfb

量角器conf

exports.config = {
    baseUrl: 'http://<qa environment>',
    framework: 'jasmine',
    seleniumAddress: 'http://localhost:4444/wd/hub',
    jasmineNodeOpts: {
        showColors:true,
        defaultTimeoutInterval: 2500000
    },
     capabilities: {
    'browserName': 'chrome'
  },

    specs: ['administration/*-spec.js'],  //'signinandout/*-spec.js', 'homepage/*-spec.js',
    onPrepare: function(){
        //browser.driver.manage().window().setSize(1280, 1080);
    }
}

异常堆栈跟踪:

  

/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/error.js:26   构造函数(opt_error){                            ^ WebDriverError:未知错误: Chrome无法启动:退出异常(驱动程序信息:   chromedriver = 2.21.371461   (633e689b520b25f3e264a2ede6b74ccc23cb636a),平台= Linux的   3.13.0-87-generic x86_64 )(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:60.16秒   构建信息:版本:'2.52.0',修订版:'4c2593c',时间:'2016-02-11   19:06:42'系统信息:主持人:'vagrant-ubuntu-trusty-64',ip:   '10 .0.2.15',os.name:'Linux',os.arch:'amd64',os.version:   '3.13.0-87-generic',java.version:'1.7.0_101'驱动程序信息:   org.openqa.selenium.chrome.ChromeDriver       at WebDriverError(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/error.js:26:26)       at Object.checkLegacyResponse(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/error.js:580:13)       at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:64:13       在Promise.invokeCallback_(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1329:14)       在TaskQueue.execute_(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2790:14)       在TaskQueue.executeNext_(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2773:21)       at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2652:27       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 acquireSession(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:62:22)       在Function.createSession(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:295:12)       在Builder.build(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/builder.js:458:24)       在Hosted.DriverProvider.getNewDriver(/usr/local/lib/node_modules/protractor/built/driverProviders/driverProvider.js:37:33)       在Runner.createBrowser(/usr/local/lib/node_modules/protractor/built/runner.js:182:43)       at /usr/local/lib/node_modules/protractor/built/runner.js:255:30       在_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)       在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   [01:09:14] E / launcher - 进程已退出,错误代码为1

4 个答案:

答案 0 :(得分:1)

检查您的Google chrome版本及其与chrome驱动程序的兼容性。

您可以从Chromedriver网站上进行检查并下载兼容版本。

对我有用。

答案 1 :(得分:0)

可能你的窗口屏幕大小不匹配尝试在onPrepare中给出最大化:

onPrepare: function(){
browser.driver.manage().window().maximize();
    }

答案 2 :(得分:0)

  1. 打开您的项目,然后请通过以下命令更新npm模块。

    project_root:\> npm update
    
  2. 现在使用以下命令将硒驱动程序更新到最新版本

    project_root:\> webdriver-manager update  
    
  3. 再次运行测试。

答案 3 :(得分:-2)

此处未指定由于Xvfb显示导致的错误。在这里,Selenium脚本使用无头浏览器测试概念运行,没有GUI。

希望您使用过chromedriver,chrome二进制文件和XVfb。这里chromedriver正在初始化chrome二进制文件,但chrome二进制文件无法在XVfb上显示在监视器上.Thats y它的抛出错误为&#34; Chrome无法启动:异常退出&#34;

请在执行ur script之前按照以下步骤操作。例如:(在Unix服务器(ex.putty)中执行此cmd)

usr / bin / Xvfb:2 -ac -screen 0 1280x1024x24&amp;

导出DISPLAY =:2

它肯定会有用。