无法直接将量角器与 chromedriver 和 selenium 服务器一起使用

Unable to use protractor with chromedriver and selenium server directly

最近我更新了我的 protractorwebdriver-managerchromedriverselenium-server

之后我遇到了这个问题:之前我们在github中共享了一个量角器应用程序,其中有chromedriverselenium-server。所以我项目中的其他人下载这个git项目后就可以直接使用了。

我们的量角器配置文件中没有 seleniumAddressdirectConnect。这意味着我们使用本地驱动程序启动了测试。

但是现在添加了update-config.json文件来跟踪chromedriver和selenium-server版本,里面的路径都是绝对路径。下载后需要修改路径

那么如何在没有update-config.json文件的情况下使用本地驱动程序呢?

在这个中有很长的解释Protractor如何使用update-config.json。好消息是如果你愿意,你可以避免使用 update-config.json。我将提供 localdirectConnect 的两个示例,因为它们很相似:

本地无更新-config.json

lib/driverProviders/local.ts 中,如果您在配置文件中提供 chromeDriver and the seleniumServerJar 的路径,则可以避免 update-config.json。如果 Protractor 找不到它们,它会抛出一个 BrowserError.

所以你的配置文件看起来像这样:

exports.config = {
  // launch locally when fields directConnect and seleniumAddress are not provided
  chromeDriver: '/path/to/chromedriver',
  seleniumServerJar: '/path/to/seleniumStandaloneServer.jar',
  specs: [ '/some/test.js' ],
  capabilities: {
    browserName: 'chrome'
  }
}

没有更新的直接连接-config.json

同样,如果在配置中使用 directConnect 时提供 chromeDriver 路径,则可以避免使用 update-config.json。配置文件将类似于:

exports.config = {
  directConnect: true,
  chromeDriver: '/path/to/chromedriver',
  specs: [ '/some/test.js' ],
  capabilities: {
    browserName: 'chrome'
  }
}