Тайм-аут при попытке подключения к Selenium Server через порт 4444 (тестирование с Nightwatch.js) - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь запустить тест параллельно с несколькими браузерами, используя nightwatch.js, но у меня по-прежнему появляется эта ошибка:

    Timeout while trying to connect to Selenium Server on port 4444.
       at Socket.socketErrorListener (_http_client.js:397:9)
       at emitErrorNT (internal/streams/destroy.js:91:8)
       at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
       at processTicksAndRejections (internal/process/next_tick.js:76:17)
    11:22:47.036 INFO [GridLauncherV3.parse] - Selenium server version: 
    3.141.59, revision: e82be7d358
    11:22:47.576 INFO [GridLauncherV3.lambda$buildLaunchers$3] - Launching 
    a standalone Selenium Server on port 4444
    2019-04-30 11:22:47.898:INFO::main: Logging initialized @2109ms to 
    org.seleniumhq.jetty9.util.log.StdErrLog
  • нпм 6,7,0
  • Nightwatch 1.0.19
  • Java 1.8.0_212

my package.json

"name": "react-crud",
  "version": "1.0.0",
  "description": "A simple CRUD application in React JS with PHP as the server-side language, and MySQL Database.",
  "main": "nightwatch.conf.js",
  "directories": {
    "test": "tests"
  },
  "dependencies": {
    "chromedriver": "^2.46.0",
    "geckodriver": "^1.16.2",
    "react": "^15.6.2",
    "selenium-server-standalone-jar": "^3.141.5",
    "selenium-standalone": "^6.16.0",
    "selenium-webdriver": "^4.0.0-alpha.1"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  }

Дело в том, что когда я пытаюсь протестировать с этим nightwatch.json только для хрома, он работает:

  "src_folders" : ["tests"],

  "webdriver" : {
    "start_process": true,
    "server_path": "node_modules/.bin/chromedriver",
    "port": 9515
  },

  "test_settings" : {
    "default" : {
      "desiredCapabilities": {
        "browserName": "chrome"
      }
    }
  }
}

но когда я пытаюсь использовать сервер селен, я получаю сообщение об ошибке, которое я только что напечатал сверху:

{
  "src_folders": [
    "tests"
  ],
  "output_folder": "reports",
  "selenium": {
    "start_process": true,
    "server_path": "selenium-server-standalone-3.141.59.jar",
    "log_path": "",
    "port": 4444,
    "cli_args": {
      "webdriver.chrome.driver": "bin/chromedriver",
      "webdriver.gecko.driver": "bin/geckodriver",
    }
  },
  "test_workers": {
    "enabled": true,
    "workers": "auto"
  },
  "test_settings": {
    "default": {
        "desiredCapabilities": {
          "browserName": "chrome"
        }
      },
    "firefox": {
      "desiredCapabilities": {
        "browserName": "firefox",
        "marionette": true
      }
    }
  }
}

Заранее спасибо!

1 Ответ

0 голосов
/ 23 мая 2019
  • Открыть новую вкладку в терминале
  • Запустить $ npm install webdriver-manager
  • Запустить обновление $ webdriver-manager
  • Запустить $ webdriver-manager start
  • используйте webdriver вместо selenium-server в вашей конфигурации Nightwatch и запускайте Nightwatch с новой вкладки терминала с помощью этого пользовательского сценария запуска:
// Custom runner.js for Nightwatch
const Nightwatch = require('nightwatch');

// read the CLI arguments
Nightwatch.cli(function(argv) {
  argv._source = argv['_'].slice(0);

  // create the Nightwatch CLI runner
  const runner = Nightwatch.CliRunner(argv);

  // setup and run tests
  runner
    .setup()
    .runTests()
    .catch(err => console.error(err));
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...