Appium-POM Appium mobile test automation framework with Page Object Model design using Java + Maven + TestNG
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