Я бы сказал, что ваш нынешний подход не осуществим. Новые версии браузеров выпускаются без учета Selenium (или любых других драйверов). Как только будет выпущено новое обновление браузера, существует достаточно высокая вероятность того, что НЕТ существующего драйвера, который работает с этой версией. Команды Selenium часто выпускают обновленные драйверы в соответствии с новейшей версией браузера.
А поскольку вы автоматически обновляете свои браузеры, то, возможно, вы автоматически нарушаете свои тесты Selenium до тех пор, пока не будет выпущена новая версия драйвера или пока вы не понизите версию браузера.
Теперь вы можете с этим справиться и можете отключить тесты браузера, пока самые последние драйверы Selenium не будут работать с самой последней версией браузера. Если это так, то вот несколько решений:
1) Если вы используете C #, храните ваши драйверы в тестовом решении в виде пакета Nuget или в папке зависимостей. Затем укажите ссылку на этот драйвер, независимо от того, где он работает. Когда вам нужно обновить драйвер, вам буквально нужно обновить его только в одном месте и проверить изменения. Все клиентские машины, используя ваш CI-процесс, извлекают последний код, который включает этот новый драйвер.
2) Если по какой-то причине вы не хотите, чтобы драйвер в вашем проекте представлял собой пакет Nuget или сохраненную вручную зависимость, то ваш CI должен обработать процесс обновления. Направьте ваш код автоматизации на драйвер, расположенный в некотором общем каталоге на клиентском компьютере, на котором он в данный момент работает -> везде, где ваш компьютер хранит зависимости после их загрузки. Например; загрузка файлов селена через консоль на машине с Windows поместит их куда-то в% APPDATA% "C: \ Users \ xxxxxx \ AppData \ Roaming \ npm \ node_modules". Вот где должно выглядеть ваше тестовое решение.
Затем в ваших скриптах CI перед запуском каких-либо тестов загрузите последнюю версию драйвера. Синтаксис почти одинаков, если не идентичен в ядрах Windows и Linux / Unix. Предполагается, что у вас установлен npm.
npm install -g selenium
Если у вас уже есть последняя версия, то ничего не произойдет. Если вы этого не сделаете, последний скрипт будет загружен вашим скриптом CI перед запуском тестов. Затем ваше тестовое решение будет указывать, где драйвер хранится на клиенте, и оно будет автоматически использовать новейший драйвер.