Skip to content

LakshyaQA/appium-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Appium--java

Java Maven Appium TestNG Platform

Appium-java is an automation testing framework built with Appium, Selenium, TestNG, and Java. It demonstrates how to start Appium server programmatically, launch Android emulators automatically, and run test cases on Android applications.


📂 Project Structure

AppiumTestify
├── src
│   ├── main/java        # future main code, utilities if needed
│   └── test/java        # Test classes (e.g., AppiumBasics.java)
│   └── test/resources   # Test resources (APK files, testng.xml)
├── pom.xml              # Maven dependencies & plugins
└── README.md            # Project documentation

✨ Features

✅ Start/stop Appium server programmatically ✅ Launch Android emulator automatically (Test-Pixel_9a) ✅ Run tests on emulators or real devices ✅ Example test with UiAutomator2 driver and ApiDemos-debug.apk ✅ Test management with TestNG ✅ Clean logging using SLF4J


⚙️ Prerequisites

  • Java 17+

  • Maven 3+

  • 📦 Node.js + Appium

    npm install -g appium
  • 📱 Appium UiAutomator2 driver

    appium driver install uiautomator2
  • 🛠 Android SDK installed and ANDROID_HOME set

  • 📟 At least one AVD (example: Test-Pixel_9a)

    emulator -list-avds

▶️ Running Tests

  1. Start emulator manually OR let the framework launch Test-Pixel_9a.

  2. Run tests via Maven:

    mvn clean test
  3. TestNG will:

    • Start emulator
    • Start Appium server
    • Install and launch ApiDemos-debug.apk
    • Execute automated steps
    • Quit driver and stop Appium

🛠 Example Test Flow

  1. 📱 Start Emulator (Pixel_7_Pro)
  2. 🚀 Start Appium server (programmatically)
  3. 📦 Install and launch ApiDemos-debug.apk
  4. 🤖 Run automated UI steps
  5. 🛑 Quit driver & stop Appium server

📌 Future Enhancements

  • 🧩 Implement Page Object Model (POM) design
  • 🍏 Add iOS testing support with XCUITest driver
  • 📊 Integrate reporting (Allure, ExtentReports)
  • 🔄 CI/CD integration (Jenkins, GitHub Actions)

👨‍💻 Author

Lakshya Sharma 🚀 Automation Tester | Appium | Selenium | TestNG | Java


📄 .gitignore

# IntelliJ IDEA
.idea/
*.iml
out/

# Maven
target/
dependency-reduced-pom.xml

# Logs
*.log

# OS-specific files
.DS_Store
Thumbs.db

# Android / Appium related
*.apk
*.ap_ 
*.aab

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages