Версия Chrome должна быть между 71 и 75, ошибка после обновления до ChromeDriver 2.46 - программирование

Версия Chrome должна быть между 71 и 75, ошибка после обновления до ChromeDriver 2.46

После обновления chromedriver до версии 2.46 мои вкусы не могут быть инициализированы. Я получил сообщение, как это:

Starting ChromeDriver 2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1) on port 44269
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Failed to invoke configuration method com.personal.CustomTest.initTests not created: Chrome version must be between 71 and 75
  (Driver info: chromedriver=2.46.628402,platform=Windows NT 10.0.16299 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.58 seconds
Build info: version: '2.53.1'

Ясно, что версия моего браузера недействительна. Но я использую Chrome 72.0.3626.119, поэтому он находится между 71 и 75. Версия Selenium - 2.53.1. И я запускаю тест через консольную команду с помощью testNG.

Любая идея? Все идеи, которые я нашел, касались изменения версии селена, но я не могу этого сделать.

4b9b3361

Ответ 1

Это сообщение об ошибке...

Starting ChromeDriver 2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1) on port 44269
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Failed to invoke configuration method com.personal.CustomTest.initTests not created: Chrome version must be between 71 and 75

... подразумевает, что ChromeDriver v2.46 несовместим с версией браузера Chrome, к которой обращается ваша программа/веб-драйвер.

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

  • Вы используете chromedriver = 2,46
  • В примечаниях к выпуску chromedriver = 2.46 четко упоминается следующее:

Supports Chrome v71-73

  • Хотя вы упомянули, что используете Chrome 72.0.3626.119, возможно, в вашей системе установлено несколько экземпляров браузера Chrome, и ваша программа по умолчанию обращается к браузеру Chrome, версия которого не находится между v71.x и v75.x

  • Вы используете Chrome = 67,0

  • В примечаниях к выпуску ChromeDriver v2.38 четко упоминается следующее:

Supports Chrome v65-67


Решение

Ответ 2

Для меня, чтобы решить эту проблему:

В Windows

cd C:\Users\[myname]\AppData\Roaming\npm\node_modules\protractor
npm i [email protected]
webdriver-manager update
webdriver-manager start &

В Cent-OS (я использовал Cent-OS 7.4. * и он работал нормально.)

cd /usr/lib/node_modules/protractor/
sudo npm i [email protected]
sudo webdriver-manager update
sudo webdriver-manager start &

Я надеюсь, что это поможет вам в любом случае.

Ответ 3

Для меня мне пришлось обновить мой драйвер Chrome в моем проекте, чтобы он соответствовал версии Chrome на моей локальной машине.

пряжа добавить хромедрайвер@76.0.0 -D

https://www.npmjs.com/package/chromedriver

Ответ 4

В моем случае я получал ту же ошибку после обновления моего chrome до версии 76. Это происходило, когда chimp пытается использовать chromedriver для выполнения теста на селен.

DevTools listening on ws://127.0.0.1:49220/devtools/browser/e88586cb-ed67-44fc-a742-43b767e2b8f9
    [chimp][helper] setupBrowserAndDDP had error
    { Error: session not created: Chrome version must be between 71 and 75
        at Object.wait (C:\ACPMS\ELS_AT\node_modules\fibers\future.js:449:15)
        at Object.<anonymous> (C:\ACPMS\ELS_AT\node_modules\wdio-sync\build\index.js:344:27)
        at Object.<anonymous> (C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\session-manager.js:145:21)
        at initBrowser (C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\chimp-helper.js:189:43)
        at Object.setupBrowserAndDDP (C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\chimp-helper.js:264:7)
        at Context.<anonymous> (C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\mocha\mocha-helper.js:13:15)
        at C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\utils\fiberize.js:29:22
        (Driver info: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 10.0.17134 x86_64)
        at new RuntimeError (C:\ACPMS\ELS_AT\node_modules\webdriverio\build\lib\utils\ErrorHandler.js:143:12)
        at Request._callback (C:\ACPMS\ELS_AT\node_modules\webdriverio\build\lib\utils\RequestHandler.js:318:39)
        at Request.self.callback (C:\ACPMS\ELS_AT\node_modules\request\request.js:185:22)
        at emitTwo (events.js:106:13)
        at Request.emit (events.js:191:7)
        at Request.<anonymous> (C:\ACPMS\ELS_AT\node_modules\request\request.js:1161:10)
        at emitOne (events.js:96:13)
        at Request.emit (events.js:188:7)
        at IncomingMessage.<anonymous>

Для меня это не сработало, когда я обновил драйвер chrome по npm (как глобально, так и локально), а затем я выполнил следующие действия, чтобы решить проблему, что может дать некоторое представление о том, где можно найти проблему такого типа:

  1. Поскольку в node_modules\chimp\dist\lib\utils\fiberize.js было сгенерировано исключение, я перешел к этому файлу и нашел на один уровень выше этого файла node_modules\chimp\dist\lib\chromedriver.js, в котором есть код для запуска chromedriver.
  2. Я добавил console.log в chromedriverPath, который можно увидеть ниже, и повторно выполнил тесты, чтобы получить путь к chromedriver в журналах консоли.
    Chromedriver.prototype.start = function(callback) {
          var self = this;
          var port = self.options.port;

          if (this.child) {
            callback();
            return;
          }

          var chromedriverPath = chromedriver.path;

          //this was added my me the see that chrome drive path
          console.log("[chimp] " + chromedriverPath); 

          if (fs.existsSync(chromedriverPath)) {
            this.child = processHelper.start(
              {
                bin: chromedriverPath,
                prefix: "chromedriver",
                args: ["--port=" + port, "--url-base=wd/hub"],
                waitForMessage: /Starting ChromeDriver/,
                errorMessage: /Error/
              },
              callback
            );
          } else {
            callback("[chimp][chromedriver] Chromedriver executable not found.");
          }
        };
  1. Когда я получил путь к хроматографическому драйверу, который используется для выполнения тестов, я просто перешел в эту папку и заменил исполняемый файл chromedriver на самую последнюю версию.

Надеюсь, это поможет.