Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Добавление профиля и настроек для webdriver в webium

webium
python
Теги: #<Tag:0x00007f7b82f39850> #<Tag:0x00007f7b82f38220>

#1

Как можно добавить FirefoxProfile и DesiredCapabilities для WebDriver в Webium?
Например в java :

FirefoxProfile profile=new FirefoxProfile();
driver=new FirefoxDriver(profile);

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(###, ###);

(oldreen) #2

Вариантов несколько на самом деле.

  1. Каждой странице можно передать экземпляр веб-драйвера, при этом, то, как Вы создаете и конфигурируете этот экземпляр, решаете сами. Для этого у BasePage конструктора есть поле driver: http://wgnet.github.io/webium/base_page.html#driver.
    а) Можно, например, создание экземпляра WebDriver, как и передачу его в объекты страниц, сделать в фикстурах тестов
    б) Можно сделать что-то, вроде, фабрики страниц, если предполагается, использовать экземпляры веб-драйвера с разными параметрами

  2. Если не указывать driver для объектов страниц, то по умолчанию в Webium создается и используется глобальный экземпляр WebDriver. Для управление настройками глобального экземпляра в Webium предусмотренно немного параметров. Например, есть вот такой:

webium.settings.driver_class

По умолчанию:
driver_class=Firefox

Конструктор вызывается без параметров, к сожалению, но вместо класса вполне может быть какая-нибудь функция, которая будет содержать Вашу логику инициализации экземпляра. Вероятно, driver_class не очень удачное название для этого параметра, driver_constructor или что-то вроде того больше бы подошло.

Глобальные настройки можно переопределять http://wgnet.github.io/webium/settings.html либо использовать local_webium_setting.py.


#3

Спасибо, разобрался. Для моей задачи мне больше подходит 2 вариант