Возникает ли ошибка связанная с браузером при проведении автотеста?

Как исправить ошибку "WARNING: Unable to find CDP implementation matching 121", которая возникает при выполнении теста? При попытке выполнить тест, браузер загружается, но ничего не происходит, и появляется предупреждение о несоответствии версий CDP. Кроме того, тест завершается неудачей с сообщением InvalidStateException и ElementClickInterceptedException.
  • 29 января 2024 г. 17:18
Ответы на вопрос 2
Ошибка "WARNING: Unable to find CDP implementation matching 121" указывает на то, что произошло несоответствие версий Chrome DevTools Protocol (CDP) используемого браузером и ожидаемого вашей тестирующей средой или инструментарием. CDP используется для взаимодействия с браузерами на основе Chromium, например, Google Chrome, при автоматизации веб-тестирования с помощью инструментов вроде Selenium или Puppeteer.

Для решения проблемы соответствия версий CDP необходимо сделать следующее:

1. **Обновить WebDriver:** Убедитесь, что используемый вами WebDriver (например, ChromeDriver для Google Chrome) соответствует версии браузера, которым вы пользуетесь. Каждая версия ChromeDriver поддерживает определенный диапазон версий Google Chrome. Вы можете скачать соответствующую версию ChromeDriver с официального сайта.

2. **Обновить браузер:** Если у вас старая версия браузера, то обновите его до последней версии, которая поддерживается используемым WebDriver.

3. **Обновить библиотеки автотестирования:** Возможно, используемые вами библиотеки для автотестирования (например, Selenium WebDriver) старые и не поддерживают последнюю версию CDP. Обновите их до последних версий.

4. **Настройка журналирования:** Иногда излишнее журналирование может быть отключено для уменьшения шума в логах. Найдите в документации вашего инструмента информацию о том, как настроить журналирование и снизьте уровень детализации логов, если необходимо.

Что касается `InvalidStateException` и `ElementClickInterceptedException`, это индивидуальные ошибки, которые могут возникнуть по различным причинам:

- `InvalidStateException` может появиться, если действие выполняется неправомерно в текущем состоянии DOM или браузера.
- `ElementClickInterceptedException` говорит о том, что при попытке клика на элемент, он перекрыт другим элементом.

Эти ошибки потребуют отдельного рассмотрения и обычно решаются путем:

- Ожидания (explicit or implicit wait) загрузки элемента или страницы перед взаимодействием с элементом.
- Проверки наличия перекрывающих элементов и их обработки (например, закрытие модального окна перед кликом).
- Использования JavaScript для принудительного выполнения действий, где это возможно.

Следуйте лучшим практикам автотестирования, таким как правильное использование ожиданий (waits), чтобы минимизировать вероятность возникновения подобных исключений.
Выдаёт ошибку: "Could not start a new session. Response code 500. Message: session not created: This version of ChromeDriver only supports Chrome version 114" 

Как её устранить не понимаю.
Похожие вопросы