Как использовать новый Selenium Web Driver

Сделал клиенту задачу на основе Selenium Web Driver. Использовал в качестве материалов для работы статью на инфостарте.

А тут Chrome обновился:

А с 115-го релиза Chrome изменился способ выпуска обновлений Chrome Driver:

Starting with M115 the ChromeDriver release process is integrated with that of Chrome. The latest Chrome + ChromeDriver releases per release channel (Stable, Beta, Dev, Canary) are available at the Chrome for Testing (CfT) availability dashboard. As a result, you might no longer have a need for version selection — you could choose any available CfT version and simply download the correspondingly-versioned ChromeDriver binary.

Я скачал стабильную редакцию Chrome, в виде архива, который разворачивается в папку:

Если запустить chrome.exe, запускается отладочный Chrome Browser, но как его привязать к серверу Web Driver? Непонятно…

Как жить с этим, нигде не нашел. Пришлось разбираться самому.

Разбирался долго, но выйти из тупика помогла строчка в инструкции:
https://www.selenium.dev/documentation/grid/getting_started/

Я так понял, что этот параметр позволяет автоматически подбирать (скачивать) chromedriver под текущий браузер.

Но запуск выдал ошибку:

Я обновил Java с сайта Java.COM:

Увы, ошибка не пропала. Поискав в интернете, я нашел, что нужно использовать java c oracle. Скачала Java отсюда:

https://www.oracle.com/java/technologies/downloads/#jdk21-windows

jdk — это Oracle, jre — это Sun.

Далее не стал разбираться с path, а просто указал, откуда запускать Java:

Один раз была выдана ошибка, связанная с тем, что не удалось скачать файл — наверное пытался скачаться chromedriver нужной версии:

На этапе: НачатьАвторизацию ошибка: При создании сессии Selenium. Код состояния: Текст: {ВнешняяОбработка.RunGetData.Форма.Форма.Форма(2477)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка работы с Интернет: Failure when receiving data from the peer

Однако потом все заработало. Ввел адрес http://localhost:4444 и увидел страницу сервера Selenium Grid:

Соответственно заработал и скрипт автоматизации через Selenium:

В каталоге сервера не должно быть chromedirver:

У меня строка запуска сервера выглядит теперь так:

"c:\Program Files\Java\jdk-21\bin\java" -jar selenium-server-4.14.1.jar standalone --selenium-manager true

Тестовый Chrome стартует в той же версии, что и установленный на компьютере Chrome:

Объем: 2 час.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментария 4

  1. Дыкелыпалы:

    Цитата: «jdk — это Oracle, jre — это Sun.»
    1. Тебе не нужно устанавливать JDK, т. к. JDK — это java developnent kit — это комплект разработчика, туда JRK входит по умолчанию.
    2. JRK надо только установить для работы — это реализация java машины просто тупо для запуска java приложений.
    3. И то и другое это Oracle, Sun Microsystem была поглощена Oracle, поэтому разработка java машин связывают сейчас только с Ораклом.

    • хз, я зашел на java.com, скачал java, а она старая, что видно из сообщения об ошибке.
      Скачал java с ORACLE, она там была JAVA 11, все заработало. Возможно там есть JRE отдельно, но я сразу не нашел, поэтому скачал JDK.
      Мне не нужно знать устройство под капотом, мне нужно ехать.

  2. Дыкелыпалы:

    4/. Да, прописать path — это лучше чем указывать откуда запуск, т. к. переменные среды в этом случае устанавливаются по умолчанию, и в будущем любые Java приложения будут запускаться без проблем. Ты что не знаешь как переменную среды прописать на винде или где там еще,???

    • мне нет нужды следить за будущими обновлениями. Я у себя только тестирую. Клиенту в продакшне можно конечно и в path прописать.
      Только там уже в PATH была прописана java от JRE, видимо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *