appium-pageobjectmodel
Appium mobile test automation framework with Page Object Model design using Java + Maven + TestNG
- Learn framework design step by step here (All parts): https://bit.ly/2SnDNx6
- Appium Tutorials from basic to advanced here: https://bit.ly/2XuyBeU
- Subscribe to my channel here: https://bit.ly/2HNsidp
Technologies/Tools used in building the framework
- Eclipse - IDE
- Appium - Mobile Automation library
- Maven - Build automation tool
- Java - Programming language
- TestNG - Test Management library
- Log4J - Logging framework
- Extent Reports - Reporting framework
- JSON/Excel - Test Data
- XML - Static text
- GitHub - Version control
- Jenkins - CI/CD
Framework implements below best practices
- Code reusability
- Code readability
- Scalable automation (demonstrated using multiple test classes)
- Uses explicit waits
- Abstraction layer for UI commands like click, sendkeys, etc.
- Parameterization using TestNG XML and config.properties
- Alternate Design approach [Without using inheritance]
- Exception handling [using Try/Catch and TestNG Listener]
- Abstraction layer for test data
- Abstraction layer for static text
- Supports iOS and Android
- Demonstrates how to define UI elements that are common across pages (e.g. menu bar, side bar, etc.)
- How to recover from test failure/ how to write fail safe test cases
- Scrolling for both Android and iOS (using touchaction, uiScrollable, mobile:scroll)
- Demonstrates how to effectively capture Screenshots/Videos
- Supports parallel execution on multiple real Android and iOS devices
- Integrated with Log4J2 Logging framework (supports basic as well as parallel logging)
- Integrated with Extent Reporting framework (supports parallel, screenshots, logging test steps)
#AppiumTutorials #PageObjectModel #TestNG