Столкнулся на первый взгляд с очень простой проблемой: Версия Chromedriver и Chrome не совпадает, и появляется такая ошибка: SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version XX. В моем случае XX = 96. В интернете есть много решений данной проблемы, но для моего случая, они не подходили, поэтому решил написать статью, надеюсь, которая вам поможет.

Ранее я писал автотесты с помощью Python, PyTest, Selenium, Allure. Но все таки решил попробовать Robot Framework. Включил видео https://www.youtube.com/watch?v=5ZUJSisFvxI и начал внимательно слушать, смотреть и повторять все действия, но вот беда, пришло время запуска и у меня валится ошибка: SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 96.

Безуспешная попытка запуска теста на Robot Framework
Безуспешная попытка запуска теста на Robot Framework


Я прекрасно понимаю, что Chrome version 96 существовала примерно в январе 2022 года, как раз когда я познавал Selenium и всячески пытался понять и совладать файлом Chromedriver. Т.к. год назад я не особо понимал, куда нужно скопировать Chromedriver, чтоб всё заработало, то я копировал этот фаил везде, лишь бы получить результат. Естественно, когда у меня все заработало, я ничего за собой не удалил, и вот, спустя год, я пожинаю плоды своей работы.

Из многих ресурсов вы можете узнать как обновить фаил Chromedriver у себя на компьютере, например тут: https://www.youtube.com/watch?v=FpaFloJsgno , но мне данный способ не помог.

Итак, что же я сделал, чтоб решить проблему?

1. Познакомился с переменной PATH в Linux. Открываем терминал, через который мы будем запускать фаил ROBOT, и в терминале запускаем команду echo $PATH, получаем такой результат:

Исполнение команды PATH
Исполнение команды PATH

В данной строке перечислены папки (каталоги), разделенные двоеточием, по которым ОС ищет необходимый для работы фаил (Chromedriver) для продолжения работы. ОС ищет фаил в каталогах строго в той последовательности, в которой они перечислены. Как вы понимаете, тот самый свежий фаил, который мы скопировали - находится в самом последнем каталоге. Значит, нужно проверить все предыдущие каталоги на наличие старого файла Chromedriver.

2. Я захожу в каждую из перечисленных папок (каталогов) и проверяю нет ли там файла Chromedriver:

В одной из папок обнаружен фаил Chromedriver
В одной из папок обнаружен фаил Chromedriver

Для корректной работы Robot Framework данный фаил нам нужно либо удалить, либо заменить. Мной принято решение - удалить лишние файлы.
3. Удаляем лишний фаил Chromedriver: sudo rm chromedriver

Удаление Chromedriver
Удаление Chromedriver

4. Проверяем остальные каталоги. В моем случае был еще 1 лишний фаил, который я удалил по аналогии с пунктом 3 данной статьи.

5. Пытаемся запустить тест Robot Framework:

Robot Framework работает
Robot Framework работает

Спасибо, что дочитали до конца. Надеюсь, статья была полезна.

Комментарии (1)


  1. kale
    13.12.2022 17:01

    Ужас