Appium Project Folder Structure for Android Automation – Complete Guide 🚀
By Bhau Automation Lab • Mobile Automation Framework from Scratch
🎯 What You Will Learn in This Video
- Standard Appium project folder structure
- Why folder structure is important in automation framework
- Purpose of each folder in Appium framework
- Industry best practices
- How to design scalable mobile automation framework
📌 What is Project Folder Structure in Appium?
The project folder structure defines how your automation framework is organized. A clean structure improves readability, maintainability, and scalability of your Appium automation framework.
In real projects, a well-defined structure is mandatory to handle large test suites, utilities, reports, and configurations.
📱 Why Folder Structure is Important in Mobile Automation?
- Easy maintenance
- Better readability
- Code reusability
- Scalable framework
- Team collaboration friendly
🧱 Standard Appium Framework Folder Structure
src
├── main
│ └── java
│ └── config
└── test
├── java
│ ├── base
│ ├── drivers
│ ├── pages
│ ├── tests
│ ├── utils
│ └── listeners
└── resources
├── config.properties
└── testdata
reports
logs
screenshots
pom.xml
📁 Explanation of Each Folder
1️⃣ base
Contains BaseTest class. Handles driver setup, teardown, and common initialization.
2️⃣ drivers
Manages Appium driver initialization for Android and iOS.
3️⃣ pages
Contains Page Object Model (POM) classes. Each screen of app has its own class.
4️⃣ tests
All test cases are written here.
5️⃣ utils
Utility classes like wait methods, gestures, file readers, Excel readers, XML readers.
6️⃣ listeners
Used for TestNG listeners, report listeners, retry logic.
7️⃣ resources
Holds config files, test data, environment settings.
8️⃣ reports
Extent Reports or Allure reports are generated here.
9️⃣ logs
Stores execution logs.
🔟 screenshots
Failure screenshots are saved here.
🏗 Appium + Cucumber Framework Structure
src/test
├── java
│ ├── stepdefinitions
│ ├── runners
│ ├── pages
│ └── utils
└── resources
└── features
🌐 Cloud Integration – BrowserStack Structure
When using BrowserStack Appium automation, config files will include cloud credentials and capabilities.
- browserstack.config
- capabilities.json
- environment.properties
🏢 Real-World Use Cases
- Android app automation testing
- iOS app automation testing
- Banking apps
- E-commerce apps
- Healthcare mobile apps
- Fintech applications
👨💻 Who Should Learn This?
- Appium Beginners
- Manual Testers moving to Automation
- Mobile Automation Engineers
- Java Developers
- QA Engineers
🎥 Watch Full Video Tutorial
👉 Appium Project Folder Structure Full Video
✅ Key Takeaways
- Good structure = strong framework
- POM improves maintainability
- Utils reduce code duplication
- Reports help debugging
- Scalable design is must for industry projects
⚡ Pro Tip: Never write test logic in test classes directly – always use Page Objects!
🚀 Created with ❤️ by Bhau Automation Lab