Webdriver Extension with Page Object Wrapper
Project description
Webdriver Extension with Page Object Wrapper
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas vitae mauris ac nulla cursus efficitur. Sed finibus risus eleifend nulla tincidunt tristique. Praesent nibh risus, vestibulum non tincidunt tempor, fermentum et turpis.
Example Test
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas vitae mauris ac nulla cursus efficitur.
import pytest
from Pages.HomePage import HomePage
class TestNavigationMenu:
def test_help_page(self):
self.browser.driver.get('https://pypi.org/')
self.browser.page_object(HomePage)
self.browser.page.help_button.click()
assert 'Help" in self.browser.driver.title
def test_sponsors_page(self):
self.browser.page.sponsors_button.click()
assert 'Sponsors" in self.browser.driver.title
def test_login_page(self):
self.browser.page.login_button.click()
assert 'Log" in self.browser.driver.title
def test_register_page(self):
self.browser.page.register_button.click()
assert 'Register" in self.browser.driver.title
Documentation
There's only 2 class import in this module.
- first module for
conftest.py
import pytest
from selenium import webdriver
from citronella import SelfBrowser
@pytest.fixture(autouse=True, scope='class')
def init_browser(request):
driver = webdriver.Chrome()
browser = SelfBrowser(driver)
request.cls.browser = browser
yield
driver.quit()
- second module for
Page Object Model
from selenium.webdriver.common.by import By
from citronella import Ui
from Pages.component.HeaderMenu import HeaderMenu
class HomePage(HeaderMenu):
def some_button(self):
return Ui(By.XPATH, '//a[@name="foo"]')
def search_input(self):
return Ui(By.ID, 'search')
def search_button(self):
from Pages.SearchPage import SearchPage
return Ui(By.NAME, 'search-button', SearchPage)
Usage
citronella.SelfBrowser
Args:
- webdriver
function lists:
- driver
- page
- page_object
- get_window_size
- ready_state
- sleep
- back
citronella.Ui
Args:
- selenium_by
- string_locator
- new_page_object(optional)
function lists:
- get_attribute
- get_element
- get_elements
- click
- send_keys
- text
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
citronella-0.0.1.tar.gz
(11.1 kB
view hashes)
Built Distribution
citronella-0.0.1-py3-none-any.whl
(17.5 MB
view hashes)
Close
Hashes for citronella-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f8f3280bc95bffc1e6db3ca7af35311a658c5ea89666778a4ba7b403f467b92 |
|
MD5 | 663f8ccf9b20c37cfb58c67bd9d7cfe8 |
|
BLAKE2b-256 | 54d213122139ab5c5a102b66bc7ae9787c4bcfd2904d553ab9ef66f100a583fe |