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

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

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

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

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

  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 или что-то вроде того больше бы подошло.

Глобальные настройки можно переопределять settings — Webium 1.2.1 documentation либо использовать local_webium_setting.py.

1 лайк

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