Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yalla Mobile Automation Framework

Overview

This project is a scalable Mobile Test Automation Framework developed using Java, Appium, TestNG, Maven, and Allure Reporting.

The framework automates the Yalla application Trip Creation workflow and follows industry-standard automation design principles including:

  • Page Object Model (POM)
  • Reusable Utility Components
  • Explicit Wait Strategy
  • Centralized Driver Management
  • Allure Reporting Integration
  • Screenshot Capture on Failure
  • Environment Information Reporting
  • Clean and Maintainable Test Design

Technology Stack

Component Technology
Language Java
Mobile Automation Appium
Test Framework TestNG
Build Tool Maven
Reporting Allure Reports
Design Pattern Page Object Model
Logging Custom Utility
IDE IntelliJ IDEA

Framework Structure

src
├── main
│   ├── java
│   │   ├── base
│   │   ├── pages
│   │   └── utils
│   |--- resources
               |--config.properties
├── test
│   ├── java
│   │   ├── tests
│   │   ├── listeners
│   │   └── base
│   |--- resources
                |--allure.properties
apps
screenshots
README.md
pom.xml
testng.xml

Automated Test Scenario

Yalla Trip Creation Flow

  1. Launch Application
  2. Navigate to Login Screen
  3. Login with Valid User
  4. Navigate to Trip Creation
  5. Select Destination
  6. Select Travel Dates
  7. Create Trip
  8. Verify Successful Trip Creation

Prerequisites

Before execution ensure the following are installed:

  • Java 17+
  • Maven 3.8+
  • Android Studio/Intellij IDEA
  • Appium Server
  • Android Emulator or Real Device
  • Node.js
  • Android SDK

Verify installation:

java -version
mvn -version
appium -v

How To Run

Step 1: Clone Repository

git clone https://github.com/rkhangithub/YallaMobileAutomationFramework.git

Step 2: Navigate To Project

cd YallaMobileAutomationFramework

Step 3: Start Appium Server

appium

Step 4: Start Android Emulator

Launch an Android emulator from Android Studio/Intellij IDEA or connect a real Android device.

adb devices (Output should show connected device/emulator)

Step 5: Execute Tests

mvn clean test

Step 6: Generate Allure Report

allure serve target/allure-results

Execution Screenshots

Test Execution

Test Execution

Shows successful execution of automated test cases from Maven/TestNG.


Allure Test Details

Allure Test Details

Displays detailed test execution information and attached screenshots.


Test Steps Details

Test Steps Details

Shows step-by-step execution flow captured in Allure reports.


Execution Summary

Execution Summary

Displays overall test execution results.


Reporting Features

The framework generates:

  • Allure Dashboard
  • Test Execution Timeline
  • Environment Information
  • Step-Level Reporting
  • Screenshot Attachments
  • Failure Diagnostics

Design Highlights

Reusable Page Objects

All UI interactions are encapsulated in dedicated page classes.

Driver Management

Centralized Appium driver initialization and lifecycle management.

Explicit Wait Strategy

Custom wait utilities improve test stability and reduce flakiness.

Reporting

Integrated Allure reports with screenshots and execution metadata.


Future Enhancements

  • Cross-platform execution (Android/iOS)
  • Parallel execution support
  • CI/CD Integration using Jenkins/GitHub Actions
  • Dockerized execution environment
  • AI-assisted locator healing
  • Cloud execution using BrowserStack/Sauce Labs

Author

Rizwan Ahmed Khan

QA Architect | Automation Lead | Mobile & Web Test Automation

Java | Selenium | Playwright | Appium | API Testing | AI-Driven Testing

PhD Researcher (Computer Science & AI) |

About

CXT-Software Assignment

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages