Столкнулся на первый взгляд с очень простой проблемой: Версия 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](https://habrastorage.org/getpro/habr/upload_files/1c8/814/3b3/1c88143b35fbba8e85095fd859e67d7b.png)
Я прекрасно понимаю, что Chrome version 96 существовала примерно в январе 2022 года, как раз когда я познавал Selenium и всячески пытался понять и совладать файлом Chromedriver. Т.к. год назад я не особо понимал, куда нужно скопировать Chromedriver, чтоб всё заработало, то я копировал этот фаил везде, лишь бы получить результат. Естественно, когда у меня все заработало, я ничего за собой не удалил, и вот, спустя год, я пожинаю плоды своей работы.
Из многих ресурсов вы можете узнать как обновить фаил Chromedriver у себя на компьютере, например тут: https://www.youtube.com/watch?v=FpaFloJsgno , но мне данный способ не помог.
Итак, что же я сделал, чтоб решить проблему?
1. Познакомился с переменной PATH в Linux. Открываем терминал, через который мы будем запускать фаил ROBOT, и в терминале запускаем команду echo $PATH
, получаем такой результат:
![Исполнение команды PATH Исполнение команды PATH](https://habrastorage.org/getpro/habr/upload_files/b63/bf2/7ee/b63bf27ee629ebb87a969d954628b921.png)
В данной строке перечислены папки (каталоги), разделенные двоеточием, по которым ОС ищет необходимый для работы фаил (Chromedriver) для продолжения работы. ОС ищет фаил в каталогах строго в той последовательности, в которой они перечислены. Как вы понимаете, тот самый свежий фаил, который мы скопировали - находится в самом последнем каталоге. Значит, нужно проверить все предыдущие каталоги на наличие старого файла Chromedriver.
2. Я захожу в каждую из перечисленных папок (каталогов) и проверяю нет ли там файла Chromedriver:
![В одной из папок обнаружен фаил Chromedriver В одной из папок обнаружен фаил Chromedriver](https://habrastorage.org/getpro/habr/upload_files/eed/032/676/eed032676ff44b1ed643d2f1dde7e984.png)
Для корректной работы Robot Framework данный фаил нам нужно либо удалить, либо заменить. Мной принято решение - удалить лишние файлы.
3. Удаляем лишний фаил Chromedriver: sudo rm chromedriver
![Удаление Chromedriver Удаление Chromedriver](https://habrastorage.org/getpro/habr/upload_files/5e2/d7f/3e3/5e2d7f3e3d1712b7f535e5f79d15f074.png)
4. Проверяем остальные каталоги. В моем случае был еще 1 лишний фаил, который я удалил по аналогии с пунктом 3 данной статьи.
5. Пытаемся запустить тест Robot Framework:
![Robot Framework работает Robot Framework работает](https://habrastorage.org/getpro/habr/upload_files/b74/62a/450/b7462a45080930459f48d27031c1fc10.png)
Спасибо, что дочитали до конца. Надеюсь, статья была полезна.
kale
Ужас