Ошибка: недопустимый или поврежденный файл jarfile ./node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-4.0.0-alpha-1.zip.jar

При запуске webdriver-manager update он загружает файл с -alpha-1.zip.jar. Это неправильный формат файла. Ниже приведен пример загрузки автономного jar-файла selenium:

> ./webdriver-manager update --standalone --chrome false --gecko false

webdriver-manager: using global installed version 12.1.1
[13:34:08] I/downloader - curl -o/path/to/selenium-server-standalone-4.0.0-alpha-1.zip.jar https://selenium-release.storage.googleapis.com/4.0/selenium-server-standalone-4.0.0-alpha-1.zip

Это недопустимый файл при попытке запустить webdriver-manager start. Что происходит и как это исправить?


person cnishina    schedule 26.04.2019    source источник


Ответы (1)


Для контекста, что происходило в 12.1.1?

Мы загружаем XML-файл с сайта https://selenium-release.storage.googleapis.com. В этом XML-файле ранее не было файлов .zip. Таким образом, обновление webdriver-manager найдет последнее из этого списка. Для 3.141/selenium-server-standalone-3.141.59 xml Contents имеет только файл jar:

<Contents>
  <Key>3.141/selenium-server-standalone-3.141.59.jar</Key>
  <Generation>1542184006302312</Generation>
  <MetaGeneration>1</MetaGeneration>
  <LastModified>2018-11-14T08:26:46.300Z</LastModified>
  <ETag>"947e57925b4185ae04d03ceec175a34a"</ETag>
  <Size>10649948</Size>
</Contents>

Когда была выпущена 4.0.0-alpha.1, файл xml имел расширение jar и zip:

<Contents>
  <Key>4.0/selenium-server-standalone-4.0.0-alpha-1.jar</Key>
  <Generation>1556122620115927</Generation>
  <MetaGeneration>1</MetaGeneration>
  <LastModified>2019-04-24T16:17:00.115Z</LastModified>
  <ETag>"ac553ec987d16d2af8c8e3ef9061772c"</ETag>
  <Size>12564804</Size>
</Contents>
<Contents>
  <Key>4.0/selenium-server-standalone-4.0.0-alpha-1.zip</Key>
  <Generation>1556122620996687</Generation>
  <MetaGeneration>1</MetaGeneration>
  <LastModified>2019-04-24T16:17:00.996Z</LastModified>
  <ETag>"1974b11f970bad6e15c84e3840ec3897"</ETag>
  <Size>12342093</Size>
</Contents>

Во время загрузки он использовал первый ключ содержимого, соответствующий последней версии. Таким образом, предполагалось, что это будет файл jar, а расширение файла не проверялось. Как часть процесса переименования, он генерирует имя файла. Это был шаблон, используемый для chromedriver, где мы добавляли версию к двоичному файлу. Таким образом, двоичный файл chromedriver будет переименован в chromedriver_2.44. Вот почему у нас есть .zip.jar файл.

Кроме того, мы не загружали бета-версии файлов jar. Другая проблема в том, что загружается альфа-версия.

Как обновить ваш webdriver-manager до 12.1.4?

Ура! Эта проблема теперь решена с помощью [email protected], выпущенного вчера утром. Но в 12.1.4 есть все остальные исправления (подробнее здесь: При использовании Protractor 5.4.2 webdriver-manager загружает 2.46, несовместимое с Chrome 74)

Исправлена ​​загрузка файла .zip и его переименование в .zip.jar. Он будет загружать только файлы jar. Также мы не загружаем альфа- и бета-версии jar-файла. Мы должны использовать стабильные версии автономного сервера selenium.

Чтобы выполнить обновление до 12.1.4, если вы используете транспортир:

  • Он должен получить последнюю версию webdriver-manager на основе "webdriver -manager ":" ^ 12.0.6 ". Итак, чтобы получить это, вам нужно принудительно установить модули узлов (npm install -f) или очистить рабочее пространство (удалив модули узлов и выполните новую установку).

Если вы используете глобально установленный webdriver-manager:

Ссылки

Проблемы, обнаруженные в Protractor и диспетчере webdriver: - angular / protractor # 5224 - angular / webdriver-manager # 370

Исправление было в запросе на вытягивание: angular / webdriver-manager # 371 .

Другой пост для StackOverflow для других исправлений: При использовании Protractor 5.4.2 webdriver-manager загружает 2.46, несовместимое с Chrome 74

person cnishina    schedule 26.04.2019