This repository contains an industry-standard mobile app automation testing framework powered by Appium and Pytest. It is designed for scalability, maintainability, and ease of integration with continuous integration systems such as GitHub Actions.
- Appium & Pytest Integration: Leverage the power of Appium for mobile automation and Pytest for testing.
- Page Object Model: Maintainable and scalable code structure.
- Continuous Integration: Integrated with GitHub Actions for seamless CI/CD.
- Comprehensive Reporting: Detailed HTML reports and test coverage metrics.
- Robust Configuration: Easily configurable using YAML files.
MobileAppTestingFramework/
│
├── config/
│ ├── config.py
│ ├── driver_setup.py
│
├── tests/
│ ├── test_login.py
│ ├── test_signup.py
│
├── pages/
│ ├── base_page.py
│ ├── login_page.py
│ ├── signup_page.py
│
├── utils/
│ ├── locators.py
│ ├── common.py
│
├── screenshots/
│ ├── login_tests/
│ ├── signup_tests/
│
├── reports/
│ ├── latest/
│ ├── history/
│
├── .github/
│ ├── workflows/
│ │ ├── ci.yml
│
├── .gitignore
├── pytest.ini
├── requirements.txt
└── README.md
- Python 3.8+
- Appium server
- Android SDK
-
Clone the repository:
git clone https://github.com/your-username/Mobile-Automation-Projects.git cd Mobile-Automation-Projects -
Install dependencies:
pip install -r requirements.txt
-
Set up the Appium server: Ensure the Appium server is running:
appium
-
Configure the environment: Update
config/config.yamlwith your device and app details:Config: APPIUM_SERVER_URL: "http://localhost:4723/wd/hub" PLATFORM_NAME: "Android" DEVICE_NAME: "YourDeviceName" APP_PACKAGE: "com.example.yourapp" APP_ACTIVITY: ".MainActivity" TIMEOUT: 30
To execute the test suite, run:
pytestThis project is configured to use GitHub Actions for continuous integration. The workflow is defined in .github/workflows/ci.yml.
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any inquiries or issues, please contact [rased.sikder.kc@gmail.com].