PWAF
PWAF copied to clipboard
Python Webdriver Automation Framework
PWAF (Python Webdriver Automation Framework)
This is web automation framework, implemented using Python & Webdriver. Page Object Model (POM) is used to make the code more readable, maintainable, and reusable.
Prerequisite:
- Python
- pip
- Selenium/WebDriver
- nosetests & nose-html-reporting
- Browsers (Firefox, Chrome, IE)
- Respective Browser drivers
- Pycharm
How to run?
Test scripts can be executed by nosetests:
nosetests -s -v --nologcapture <test-script.py>
e.g:
nosetests -s -v --nologcapture checkbox_page_test.py
Execute different group of test:
nosetests -s -v --nologcapture -a group=
<test-script.py>
e.g:
nosetests -s -v --nologcapture -a group=smoke all_tests.py
Get Test-reports:
nosetests -s -v --nologcapture --with-html --html-report=
<test-script.py>
e.g:
nosetests -s -v --nologcapture --with-html --html-report=test_report.html checkbox_page_test.py
Note: Kindly set the respective browser's driver path either to System variable or update it in drivermanager.py
e.g: self.driver = webdriver.Firefox(executable_path="geckodriver path") # in case of Firefox browser.
Execution:

Coverage Plan:
| Contents | Status | |
|---|---|---|
| Framework level | Page Object Model | Done |
| Profiles | Done | |
| Grids | ||
| Cross browsers & cross platform | ||
| Locators | Learning how to get locators. | |
| Functionality To Automate | Challenging DOM | Done |
| Checkboxes | Done | |
| Context Menu | Done | |
| Disappearing Elements | Done | |
| Drag and Drop | Done | |
| Dropdown | Done | |
| Dynamic Content | ||
| Dynamic Controls | Done | |
| Dynamic Loading | Done | |
| File Download | Done | |
| File Upload | Done | |
| Floating Menu | ||
| Frames | Done | |
| Horizontal Slider | ||
| Hovers | Done | |
| Infinite Scroll | ||
| JQuery UI Menus | ||
| JavaScript Alerts | ||
| Key Presses | ||
| Large & Deep DOM | ||
| Multiple Windows | Done | |
| Nested Frames | Done | |
| Notification Messages | ||
| Redirect Link | ||
| Shifting Content |