BasePage¶
Page is the main concept of Page Object pattern.
In order to create your pages you should inherit webium.base_page.BasePage.
from webium import BasePage
class MyPage(BasePage):
pass
url¶
If your page has static url you can specify it in __init__.
After that you can use open() method to open your page.
url can be also defined as static attribute of your class.
from webium import BasePage
class PageWithUrl(BasePage):
def __init__(self):
super(PageWithUrl, self).__init__(url='http://wargaming.com/')
if __name__ == '__main__':
page = PageWithUrl()
page.open()
driver¶
Pages should have some WebDriver instance in order to manipulate browser.
By default Webium will create the instance of WebDriver class specified in `webium.settings.driver_class.
If you want to get the instance of the the driver you can call webium.driver.get_driver() method.
driver parameter in BasePage gives you an ability to handle WebDriver instance by yourself.
from selenium.webdriver import Firefox
from webium import BasePage
class DriverHandlingPage(BasePage):
def __init__(self, *args, **kwargs):
super(DriverHandlingPage, self).__init__(url='http://wargaming.net/', *args, **kwargs)
if __name__ == '__main__':
my_driver = Firefox()
page = DriverHandlingPage(driver=my_driver)
page.open()
print('Page title: ' + my_driver.title)
my_driver.quit()