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
| 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 |
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
- Launch Application
- Navigate to Login Screen
- Login with Valid User
- Navigate to Trip Creation
- Select Destination
- Select Travel Dates
- Create Trip
- Verify Successful Trip Creation
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 -vgit clone https://github.com/rkhangithub/YallaMobileAutomationFramework.gitcd YallaMobileAutomationFrameworkappiumLaunch an Android emulator from Android Studio/Intellij IDEA or connect a real Android device.
adb devices (Output should show connected device/emulator)mvn clean testallure serve target/allure-resultsShows successful execution of automated test cases from Maven/TestNG.
Displays detailed test execution information and attached screenshots.
Shows step-by-step execution flow captured in Allure reports.
Displays overall test execution results.
The framework generates:
- Allure Dashboard
- Test Execution Timeline
- Environment Information
- Step-Level Reporting
- Screenshot Attachments
- Failure Diagnostics
All UI interactions are encapsulated in dedicated page classes.
Centralized Appium driver initialization and lifecycle management.
Custom wait utilities improve test stability and reduce flakiness.
Integrated Allure reports with screenshots and execution metadata.
- 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
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) |



