/appium-pageobjectmodel

Appium framework with Page Object Model design using Java + Maven + TestNG

Primary LanguageHTML

appium-pageobjectmodel

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