量角器在代码中找不到量角器/ selenium / chromedriver.exe

时间:2014-06-20 14:06:06

标签: selenium gruntjs protractor

我试图配置集成以运行portractor测试。

我正在使用grunt-protractor-runner任务

具有以下配置:

    protractor: {
    options: {
          configFile: "protractor.conf.js", //your protractor config file
          keepAlive: true, // If false, the grunt process stops when the test fails.
          noColor: false, // If true, protractor will not use colors in its output.
          args: {
              // Arguments passed to the command
          }
    },
    run: {},
    chrome: {
        options: {
              args: {
                  browser: "chrome"
              }
          }
    }
}

这是我用来在服务器运行后运行量角器的艰巨任务:

grunt.registerTask('prot', [
  'connect:test',   
  'replace:includemocks',//for uncommenting angular-mocks reference
  'protractor:run',
  'replace:removemocks',//for commenting out angular-mocks reference
]);

它在我的本地计算机上运行良好,但在代码处我遇到以下错误:

Error: Could not find chromedriver at /home/rof/src/bitbucket.org/myrepo/myFirstRepo/node_modules/grunt-protractor-runner/node_modules/protractor/selenium/chromedriver.exe

我猜,这是因为没有这个" chromedriver.exe"在这条路上。 如何在代码环境中解决它?

感谢前进

3 个答案:

答案 0 :(得分:3)

postinstall添加到您的package.json文件中,npm install将提前为您安排二进制文件:

"scripts": { "postinstall": "echo -n $NODE_ENV | \ grep -v 'production' && \ ./node_modules/protractor/bin/webdriver-manager update || \ echo 'will skip the webdriver install/update in production'", ... },

并且不要忘记设置NODE_ENV ...根本不设置它会导致echo 'will skip the webdriver install/update in production'块运行。将其设置为devstaging将获得所需的结果。

答案 1 :(得分:2)

简短回答(pulkitsinghal给出了原始解决方案):

./node_modules/grunt-protractor-runner/node_modules/protractor/bin/webdriver-manager update

答案 2 :(得分:0)

我是Codeship的创始人之一。

错误似乎是因为您正在尝试使用exe文件,但我们在系统上使用Linux。您是否对该可执行文件进行了硬编码?

您是否可以向我们发送应用内支持请求,以便我们有一个链接可以帮助您解决此问题?