Python library provides page factory approach to implement page object model in selenium
Project description
- A Page Factory is one way of implementing a Page Object Model. In order to support the Page Object pattern.
- As in Java we are using @findBy, here we are declaring all web element in dictionary. Dictionary keys become WebElement or class member variable with having all extended WebElement methods.
Main Features
- Initialise all the webElements declared in Point at a time.
- All WebElements methods are re-define to add extra features. eg- click method extended to have explicit wait for element to be clickable.
- Cent percent unittest coverage.
Installation
pip install selenium-page-factory
Pre-Requisite
Every Page in Page Object Model should have WebDriver object as class member as shown below
class PageClass(PageFactory):
def __init__(self,driver):
self.driver = driver # Required
self.timeout = 15 #(Optional - Customise your explicit wait for every webElement)
self.highlight = True #(Optional - To highlight every webElement in PageClass)
Custom WebElement Methods
- set_text
- get_text
- clear_text
- click_button
- double_click
- get_list_item_count
- select_element_by_text
- select_element_by_index
- select_element_by_value
- get_all_list_item
- get_list_selected_item
- hover
- is_Checked
- is_Enabled
- getAttribute
- element_to_be_clickable
- invisibility_of_element_located
- visibility_of_element_located
- execute_script
Note: Every WebElement will be created after verifying it's Presence and visibility on Page at Run-Time.
Project Page
https://github.com/NayakwadiS/selenium-page-factory
Project Documentation with Examples
https://selenium-page-factory.readthedocs.io
Sample Framework
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
Close
Hashes for selenium-page-factory-1.9.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fd736a1bc259341c2069dd6cfcfaa1642c4d5cd8aa04b3cf74a2d2d2f386bb1 |
|
MD5 | 1d2ded85db0e772239d2b5877f2bff55 |
|
BLAKE2b-256 | 41d6e1fdc9dda940c3dad68f2c8075d3726caaf9b751067bd2b78b75ee2a3021 |