Skip to content

Framework for Mobile test automation (Native app and Browser) on Android and IOS devices

Notifications You must be signed in to change notification settings

keshavjha06/AppiumFramework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

appium-pageobjectmodel

Appium mobile test automation framework with Page Object Model design using Java + Maven + TestNG. Framework follows many of the industry best practices and supports Android and iOS in a single code base.

Technologies/Tools used in building the framework

  • IntelliJ IDEA - IDE
  • Appium - Mobile Automation library
  • Maven - Build automation tool
  • Java - Programming language
  • TestNG - Test Management library
  • Extent Reports - Reporting framework
  • JSON - 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
  • 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
  • Integrated with Extent Reporting framework (supports parallel, screenshots, logging test steps)

About

Framework for Mobile test automation (Native app and Browser) on Android and IOS devices

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published