Столкнулся на первый взгляд с очень простой проблемой: Версия 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.
Я прекрасно понимаю, что Chrome version 96 существовала примерно в январе 2022 года, как раз когда я познавал Selenium и всячески пытался понять и совладать файлом Chromedriver. Т.к. год назад я не особо понимал, куда нужно скопировать Chromedriver, чтоб всё заработало, то я копировал этот фаил везде, лишь бы получить результат. Естественно, когда у меня все заработало, я ничего за собой не удалил, и вот, спустя год, я пожинаю плоды своей работы.
Из многих ресурсов вы можете узнать как обновить фаил Chromedriver у себя на компьютере, например тут: https://www.youtube.com/watch?v=FpaFloJsgno , но мне данный способ не помог.
Итак, что же я сделал, чтоб решить проблему?
1. Познакомился с переменной PATH в Linux. Открываем терминал, через который мы будем запускать фаил ROBOT, и в терминале запускаем команду echo $PATH
, получаем такой результат:
В данной строке перечислены папки (каталоги), разделенные двоеточием, по которым ОС ищет необходимый для работы фаил (Chromedriver) для продолжения работы. ОС ищет фаил в каталогах строго в той последовательности, в которой они перечислены. Как вы понимаете, тот самый свежий фаил, который мы скопировали - находится в самом последнем каталоге. Значит, нужно проверить все предыдущие каталоги на наличие старого файла Chromedriver.
2. Я захожу в каждую из перечисленных папок (каталогов) и проверяю нет ли там файла Chromedriver:
Для корректной работы Robot Framework данный фаил нам нужно либо удалить, либо заменить. Мной принято решение - удалить лишние файлы.
3. Удаляем лишний фаил Chromedriver: sudo rm chromedriver
4. Проверяем остальные каталоги. В моем случае был еще 1 лишний фаил, который я удалил по аналогии с пунктом 3 данной статьи.
5. Пытаемся запустить тест Robot Framework:
Спасибо, что дочитали до конца. Надеюсь, статья была полезна.
kale
Ужас