#python #selenium #robotframework
#python #селен #robotframework
Вопрос:
Мы используем автоматизацию платформы Python robot framework. Возможно ли автоматически загружать и устанавливать пограничный драйвер при запуске скрипта на основе версии, переданной в качестве параметра?Мы используем selenium 3.14, библиотеку селена robot framework 4.5.0 и python 3.7
Ответ №1:
Нет, это невозможно. Установка любого webdriver должна быть выполнена перед запуском тестов, поскольку для этого требуется подготовить путь к переменной среды и соответствующие разрешения на выполнение для webdriver.
Ответ №2:
Возможно ли автоматически загружать и устанавливать пограничный драйвер при запуске скрипта на основе версии, переданной в качестве параметра?
Ответ — ДА
Для этого вам необходимо установить диспетчер драйверов с помощью — pip install webdriver-manager
Затем используйте приведенный ниже импорт —
from selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManager
Вы можете использовать функцию python в качестве ключевого слова в robot framework примерно так, как указано ниже. Где 96.0.1054.43
параметр — это версия пограничного драйвера. И эта функция записана, скажем drivermanager.py
, в файле.
def get_chromedriver_path():
driver_path = EdgeChromiumDriverManager("96.0.1054.43").install()
print(driver_path)
return driver_path
Вы можете импортировать эту drivermanager.py
библиотеку () в свой тестовый набор, используя command — Library drivermanager.py
. При выполнении эта функция будет обрабатываться как ключевое слово.
Testsuite будет иметь testcase как
Open Chrome Browser
[Documentation] To create chrome browser instance with specific profile
${chromedriver_path}= drivermanager.Get Chromedriver Path
Здесь ${chromedriver_path}
переменная содержит путь к драйверу. и драйвер, сохраненный в кэше.
Скриншот выполнения —
Ссылки — 1. https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
2. https://github.com/SergeyPirogov/webdriver_manager