Skip to content

Appium solution for the mobility app automation task

Notifications You must be signed in to change notification settings

itkhanz/Appium-QATask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Appium WM Assignment

  • This project is a solution for the QATask assignment and automates important scenarios for the automation
  • This is by no-means a full fledged automation framework, rather a solution to a challenge task.

Pre-requisites

This project is built and tested with the following dependencies:

  • JAVA JDK 17.0.2
  • MAVEN 3.9.2
  • Node 18.16.0
  • Appium Server 2.0.1 or higher
  • Appium UiAutomator2 driver 2.29.4 or higher
  • Android Studio
    • Android SDK and commandline tools
    • Android Emulator
      • Pixel 5 with Android 13.0 Google Play | x86_64

Libraries

  • Java 17 as programming language
  • Appium Java Client 8.6.1 as native app automation library
  • TestNG as testing framework to support the test creation and hooks
  • AssertJ as the fluent assertion library
  • java-faker as the faker data generation strategy
  • Log4j2 as the logging management strategy
  • Owner to minimize the code to handle properties files
  • Lombok to reduce the boilerplate and creating POJOs with builder pattern
  • jackson-databind to parse the JSON test data

Installation

Use appium doctor to check if your system has been successfully setup with appium

Run the command appium-doctor to verify the setup (Xcode is not required for this task)

Running Tests

  • Create the Android Emulator and start it from Android Studio.
    • You can get the UDID of emulator with the following adb command adb shell "dumpsys window | grep -E mCurrentFocus"
  • Clone the repo
  • Open the project POM.xml in IDE of your choice and run the maven build that will download and install the required dependencies.
    • IntelliJ IDE is recommended.
  • Configure the following according to your system setup:
    • appium server host and port inside src/test/resources/server.properties
    • android UDID of the emulator inside src/test/resources/android.properties
  • Start the Appium server with uiautomator2 driver for android via terminal:
appium --use-drivers=uiautomator2
  • Use IDE Terminal or navigate to the project root directory and run following command in terminal:
mvn clean test -Pregression
  • It will run the whole regression suite comprising of 11 test cases split between 4 test classes.
  • Results will be available in terminal after the build is finished.
  • HTML report is generated by mavens surefire plugin, and is available at target/surefire-reports/index.html

HTML test report

About

Appium solution for the mobility app automation task

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages