Skip to content

amanrawatt02/Java-Adb-Based-Automation-Framework

Repository files navigation

# Lava Android Automation Test Suite

Aman's testing tool for Lava Android devices.

## Test Cases (9 Total)

| # | Test ID | Description | Priority |
|---|---------|-------------|----------|
| 1 | SET_361 | Back key functionality in search app screen after deleting all text | High |
| 2 | MSCL_06 | To check About phone info | High |
| 3 | SET_153 | Check Connection Preference | High |
| 4 | SET_174 | Check Auto-rotate screen | High |
| 5 | CHKP_21 | To check Camera: QR scanner/Intelligent scanning | High |
| 6 | A14_SET_25 | To check Dual/Clone App feature | High |
| 7 | MSCL_16 | To check functionality of colors on wallpaper | Low |
| 8 | MSCL_25 | To check the functionality of Keyboard | Low |
| 9 | CLN_02 | Check App clone feature supported app | High |

## Prerequisites

### 1. Java Runtime (JRE 11+)
Download: https://adoptium.net/

Verify:
```bash
java -version
```

### 2. ADB (Android Debug Bridge)
Download: https://developer.android.com/studio/releases/platform-tools

Verify:
```bash
adb version
```

### 3. Device Setup
1. Enable Developer Options (tap Build number 7 times)
2. Enable USB Debugging
3. Connect device via USB
4. Authorize computer on device

Verify:
```bash
adb devices
```

## How to Run

```bash
java -jar lava-android-automation-1.0.0.jar
```

### Menu Options
```
1. SET_361   - Back Key Functionality
2. MSCL_06   - About Phone Info
3. SET_153   - Connection Preferences
4. SET_174   - Auto-Rotate Screen
5. CHKP_21   - QR Scanner/Intelligent Scanning
6. A14_SET_25 - Dual/Clone App Feature
7. MSCL_16   - Wallpaper Colors
8. MSCL_25   - Keyboard Functionality
9. CLN_02    - App Clone Supported Apps
10. Run ALL Tests
0. Exit
```

### Run Specific Test via Command Line
```bash
java -jar lava-android-automation-1.0.0.jar SET_361
java -jar lava-android-automation-1.0.0.jar MSCL_06 SET_153
```

## Reports

After test execution, reports are generated in `test-reports/` folder:
- HTML Report: `TestReport_YYYYMMDD_HHMMSS.html`
- Text Report: `TestReport_YYYYMMDD_HHMMSS.txt`

## Project Structure

```
lava-android-automation/
├── dist/
│   └── lava-android-automation-1.0.0.jar
├── src/main/java/com/lava/automation/
│   ├── Main.java
│   ├── core/
│   │   ├── AdbHelper.java
│   │   ├── TestResult.java
│   │   ├── TestRunner.java
│   │   └── ReportGenerator.java
│   └── tests/
│       ├── BaseTest.java
│       ├── BackKeyTest.java
│       ├── AboutPhoneTest.java
│       ├── ConnectionPreferenceTest.java
│       ├── AutoRotateTest.java
│       ├── QRScannerTest.java
│       ├── DualCloneAppTest.java
│       ├── WallpaperColorTest.java
│       ├── KeyboardTest.java
│       └── AppCloneTest.java
├── pom.xml
├── build.gradle
├── build.sh
├── build.bat
└── README.md
```

## Building from Source

### Using build script (requires JDK 11+)

Mac/Linux:
```bash
chmod +x build.sh
./build.sh
```

Windows:
```cmd
build.bat
```

### Using Maven
```bash
mvn clean package
```

### Using Gradle
```bash
gradle jar
```

## Troubleshooting

### "ADB not found"
Add Platform Tools to system PATH

### "No device connected"
```bash
adb kill-server
adb start-server
adb devices
```

### Device shows "unauthorized"
1. Revoke USB debugging authorizations in Developer options
2. Reconnect and tap "Allow"

## Version
1.0.0

About

Created a Java+Adb Based Automation framework for Lava Mobiles.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published