Получение ошибки: Сервер досрочно завершил работу со статусом 127 в драйвере Селена Хром - PullRequest
0 голосов
/ 23 октября 2019

Когда я пытаюсь выполнить модульное тестирование с драйвером Chrome, я получаю сообщение об ошибке: Server terminated early with status 127, я установил драйвер Chrome, который по-прежнему выдает ошибку. Может кто-нибудь, пожалуйста, помогите мне, почему я получаю эту проблему. Вот мой код,

let webdriver = require("selenium-webdriver");
        let chromeOptions = new chrome.Options();
        chromeOptions.addArguments("test-type");
        chromeOptions.addArguments("start-maximized");
        chromeOptions.addArguments("--js-flags=--expose-gc");
        chromeOptions.addArguments("--enable-precise-memory-info");
        chromeOptions.addArguments("--disable-popup-blocking");
        chromeOptions.addArguments("--disable-default-apps");
        chromeOptions.addArguments("--disable-infobars");

        driver = new webdriver.Builder()
          .forBrowser("chrome")
          .setChromeOptions(chromeOptions)
          .build();

1 Ответ

0 голосов
/ 23 октября 2019

В моем случае мне не хватало среды выполнения Java (JRE). Я запускаю e2e-тесты с Selenium в образе докера на основе Debian, поэтому sudo apt-get install default-jre помог мне. К сожалению, в этом случае селен не дает более полезного сообщения об ошибке.


Выполните следующие действия: -

  1. apt-get install default-jre
  2. apt-get -f install для исправления установки
  3. apt-get install chromium-browser Убедитесь, что установлена ​​правильная версия Chrome, относящаяся к вашему chromedriver, например, Chrome 60-62 для chromedriver 2.33
  4. Настройка веб-драйвера для запускаChrome в режиме без головы, чтобы избежать других ненужных зависимостей. В узле это выглядит так:

    const options = new chromeDriver.Options();

    options.addArguments( 'headless', 'disable-gpu', );

    new webdriver.Builder() .forBrowser('chrome') .setChromeOptions(options) .build();

...