пограничный драйвер не устанавливается с помощью robotframework

#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