Невозможно запустить тесты webdriver.io в автономном режиме

Я разрабатываю сайт React на своем локальном хосте и начал добавлять тесты e2e с помощью webdriver.io. Все тесты webdriver.io завершаются неудачно, пока не подключены к Интернету, но проходят после подключения. Как я могу это исправить? Тесты запускаются через gulp.

Ошибка:

alan:/var/www/mysite.local$ gulp webdriver
[17:01:11] Using gulpfile /private/var/www/mysite.local/gulpfile.js
[17:01:11] Starting 'webdriver'...

A service failed in the 'onPrepare' hook
Error: Could not request headers from https://github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-macos.tar.gz: Error: getaddrinfo ENOTFOUND github.com github.com:443
    at Request.<anonymous> (/private/var/www/mysite.local/node_modules/selenium-standalone/lib/install.js:552:8)
    at Request.g (events.js:291:16)
    at emitOne (events.js:96:13)
    at Request.emit (events.js:188:7)
    at Request.onRequestError (/private/var/www/mysite.local/node_modules/selenium-standalone/node_modules/request/request.js:845:8)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:188:7)
    at TLSSocket.socketErrorListener (_http_client.js:310:9)
    at emitOne (events.js:96:13)
    at TLSSocket.emit (events.js:188:7)

Continue...
ERROR: connect ECONNREFUSED 127.0.0.1:4444
chrome
    at new RuntimeError (/private/var/www/mysite.local/node_modules/webdriverio/build/lib/utils/ErrorHandler.js:144:12)
    at Request._callback (/private/var/www/mysite.local/node_modules/webdriverio/build/lib/utils/RequestHandler.js:330:43)
    at self.callback (/private/var/www/mysite.local/node_modules/webdriverio/node_modules/request/request.js:186:22)
    at emitOne (events.js:96:13)
    at Request.emit (events.js:188:7)
    at Request.onRequestError (/private/var/www/mysite.local/node_modules/webdriverio/node_modules/request/request.js:878:8)
    at emitOne (events.js:101:20)
    at ClientRequest.emit (events.js:188:7)
    at Socket.socketErrorListener (_http_client.js:310:9)
    at emitOne (events.js:96:13)

[17:01:13] 'webdriver' errored after 1.06 s
[17:01:13] Error in plugin 'gulp-webdriver'

Файл wdio.conf.js:

exports.config = {
  specs: ["./webdriver/*.test.js"],
  exclude: [
  ],
  maxInstances: 10,
  capabilities: [
    {
      maxInstances: 5,
      browserName: "chrome"
    }
  ],
  sync: true,
  logLevel: "silent",
  coloredLogs: true,
  deprecationWarnings: true,
  bail: 0,
  screenshotPath: "./webdriver/errorShots/",
  baseUrl: "http://mysite.local",
  waitforTimeout: 10000,
  connectionRetryTimeout: 90000,
  connectionRetryCount: 3,
  services: ["selenium-standalone"],
  framework: "mocha",
  reporters: ["dot"],
  mochaOpts: {
    ui: "bdd",
    compilers: ["js:babel-register"]
  }
};

Задача Gulp:

gulp.task("webdriver", function() {
  return gulp
    .src("wdio.conf.js")
    .pipe(webdriver())
    .once("end", () => {
      process.exit();
    });
});

Спасибо.


person Alan P.    schedule 02.04.2018    source источник
comment
В вашем скрипте gulp вы указали, что ему необходимо подключиться к Интернету, чтобы что-то загрузить, опубликуйте содержимое /private/var/www/mysite.local/gulpfile.js   -  person pagep    schedule 03.04.2018
comment
Ничто в gulpfile не требует загрузки. Я добавил задачу gulpfile в исходный пост.   -  person Alan P.    schedule 05.04.2018


Ответы (1)


selenium-standalone имеет сценарий загрузки, который используется для установки драйверов браузера. Я считаю, что вы можете запустить свой тестовый скрипт при подключении к Интернету, а затем, когда все драйверы будут загружены, вы сможете работать без подключения.

person Kevin Lamping    schedule 03.04.2018
comment
Спасибо за ответ klamping, но он не работал после запуска тестов при подключении к Интернету. - person Alan P.; 07.04.2018