【问题标题】:Chromedriver: cannot execute binary fileChromedriver:无法执行二进制文件
【发布时间】:2015-08-25 01:06:59
【问题描述】:

我开始使用 Nightwatch 进行网络测试,并尝试使用 Chrome 进行测试。

但是,当我开始测试时,它立即崩溃并出现以下错误:

17:56:35.218 INFO - Executing: [new session: Capabilities [{acceptSslCerts=true, name=Sandbox, browserName=chrome, javascriptEnabled=true, platform=ANY}]]) 17:56:35.219 INFO - Creating a new session for Capabilities [{acceptSslCerts=true, name=Sandbox, browserName=chrome, javascriptEnabled=true, platform=ANY}] /Users/murdockcrc/repos/nightwatch/bin/chromedriver: /Users/murdockcrc/repos/nightwatch/bin/chromedriver: cannot execute binary file

我正在使用以下命令运行测试: ./bin/nightwatch --test hdv/tests/sandbox.js --config ./nightwatch.json

就我而言,这里的所有路径都是准确的并且指向正确的文件。

下面是我的守夜人配置文件:

{
  "src_folders" : ["./hdv/tests"],
  "output_folder" : "./hdv/reports",
  "custom_commands_path" : "",
  "custom_assertions_path" : "",
  "globals_path" : "",
  "live_output" : true,
  "parallel_process_delay" : 10,
  "disable_colors": false,
  "test_workers" : false,

  "selenium" : {
    "start_process" : false,
    "server_path" : "",
    "log_path" : "",
    "host" : "127.0.0.1",
    "port" : 4444,
    "cli_args" : {
      "webdriver.chrome.driver" : "./bin/chromedriver",
      "webdriver.ie.driver" : "",
      "webdriver.firefox.profile" : ""
    }
  },

  "test_settings" : {
    "default" : {
      "launch_url" : "http://localhost:3000",
      "selenium_host" : "127.0.0.1",
      "selenium_port" : 4444,
      "silent" : true,
      "disable_colors": false,
      "screenshots" : {
        "enabled" : false,
        "path" : ""
      },
      "desiredCapabilities" : {
        "browserName" : "chrome",
        "javascriptEnabled" : true,
        "acceptSslCerts" : true
      }
    }
  }
}

最后,这是我要运行的测试(如您所见,只是一个占位符,用于查看它是否运行):

module.exports = {
  'Demo test Google' : function (browser) {
    browser
      .url('http://www.google.com')
      .waitForElementVisible('body', 1000)
      .setValue('input[type=text]', 'nightwatch')
      .waitForElementVisible('button[name=btnG]', 1000)
      .click('button[name=btnG]')
      .pause(1000)
      .assert.containsText('#main', 'Night Watch')
      .end();
  }
};

使用 firefox(通过更改 nightwatch.json 文件)运行相同的测试确实没有问题。

如果您能提供任何有关此配置有什么问题的指示,并让它在 Chrome 上运行,我将不胜感激。

【问题讨论】:

    标签: selenium selenium-webdriver selenium-chromedriver nightwatch.js


    【解决方案1】:

    作为健全性检查,您是否尝试过自己运行 chromedriver(即运行“./bin/chromedriver”)?你应该得到一些看起来像

    的输出

    在端口 9515 上启动 ChromeDriver (v2.9.248307)

    您还应该确保您的机器具有适当版本的 chromedriver。检查ChromeDriver downloads 页面。

    【讨论】:

      猜你喜欢
      • 2013-08-04
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 2013-02-20
      相关资源
      最近更新 更多