This repository hosts a robust Cross-Platform Mobile Test Automation Framework designed for efficient testing of both Android and iOS applications using simulated and emulated devices. The framework utilizes Robot Framework for test scripting and Appium as the underlying automation driver.
- Behavior-Driven Testing (BDD): Tests are written in a simple, human-readable format using Robot Framework's Gherkin-like syntax.
- Cross-Platform Support: Single framework structure to test both Android and iOS applications with common keywords.
- Appium Integration: Leverages Appium for reliable and consistent interaction with mobile elements.
- Simulated/Emulated Testing: Optimized for fast, parallel execution on Android Emulators (AVDs) and iOS Simulators.
- Page Object Pattern: Implemented using Robot Framework Resource files for highly maintainable and readable tests.
- Detailed Reporting: Generates comprehensive HTML reports, logs, and screenshots via Robot Framework's powerful output files.
- CI/CD Ready: Easily integrated into pipelines like Azure Pipelines or GitHub Actions. Examples GitHub Actions .yml files are located at: /.github/workflows/
Before running the tests, ensure you have the following installed and configured:
- Python 3.8+: Required for running Robot Framework and its libraries.
- pip: Python's package installer.
- Robot Framework & other Python dependencies: A Python virtual environment is recommended:
pip install -r requirements.txt
- Appium Server: The core automation driver.
- Installation: Requires Node.js latest. Install Appium globally via npm:
npm install -g appium
- Appium driver for Android platform:
appium driver install uiautomator2
- Appium driver for iOS platform:
appium driver install xcuitest
- Installation: Requires Node.js latest. Install Appium globally via npm:
- Android SDK & Tools:
- Android Studio installed.
ANDROID_HOMEenvironment variable set.- Necessary platform tools and emulators installed via the SDK Manager.
- Xcode & iOS SDK (macOS only):
- Xcode installed (required for iOS simulators).
- Xcode Command Line Tools installed (
xcode-select --install). - Necessary iOS Simulators installed.
Please check example .yml files at /.github/workflows/ for more details.
git clone [Your Repository URL]
cd [repo-name]robot --variable PLATFROM:[android/ios] [path/to/your/testcases.robot]Example .robot file in this repository:
robot --variable PLATFORM:android test_cases/test.robot