量角器给出了#34;无法启动WebDriver会话"错误

时间:2014-12-15 21:44:44

标签: javascript google-chrome testing protractor end-to-end

我已经使用webdriver-manager start启动了服务器,但是当我尝试运行量角器时出现此错误:

Using the selenium server at http://127.0.0.1:4444/wd/hub
[launcher] Running 1 instances of WebDriver
ERROR - Unable to start a WebDriver session.

C:\...\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:113
  var template = new Error(this.message);
                 ^
UnknownError: unknown error: cannot find Chrome binary

我的配置文件如下所示:

exports.config = {
    specs: [
        'test/*.js'
    ],

    capabilities: {
        'browserName': 'chrome'
    },
    seleniumAddress: 'http://127.0.0.1:4444/wd/hub'

};

我也尝试过指向功能对象中的二进制文件,以及添加chromeDriver和seleniumServerJar键无济于事。有什么想法吗?

2 个答案:

答案 0 :(得分:10)

根据relevant github issue,问题是 chromedriver找不到chrome浏览器可执行 - 在{{3}中搜索的不同操作系统上}}

您需要安装 chrome chromedriver期望它,或者在chrome设置中指定binary可执行的路径:< / p>

capabilities: {
    "browserName": "chrome",
    "chromeOptions": {
        binary: "D:/Program Files/Chrome/chrome.exe",
        args: [],
        extensions: [],
    }
},

答案 1 :(得分:0)

我使用JHipster生成了代码,并且在e2e无法正常工作时出现了类似的错误。我提供了二进制路径。但是在npm run e2e上,浏览器打开并在地址栏中显示data;

我重新整理并在args之后在chromeOptions的末尾提供了二进制文件,并且它起作用了。

capabilities: {
        browserName: 'chrome',
        chromeOptions: {
            args: process.env.JHI_E2E_HEADLESS
                ? [ "--headless", "--disable-gpu", "--window-size=800,600" ]
                : [ "--disable-gpu", "--window-size=800,600" ],
            binary: "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
        }
    }

注意:当发生不支持的Webdriver版本错误时,我还必须更新chrome版本。