move docs to docs/ folder, merge architecture files, update references
This commit is contained in:
129
docs/ANDROID-TESTING.md
Normal file
129
docs/ANDROID-TESTING.md
Normal file
@@ -0,0 +1,129 @@
|
||||
# Android Device Testing
|
||||
|
||||
## Prerequisites
|
||||
|
||||
```bash
|
||||
# Check connected device
|
||||
adb devices -l
|
||||
|
||||
# Verify Mosis app is installed
|
||||
adb shell pm list packages | grep mosis
|
||||
```
|
||||
|
||||
## Build and Install
|
||||
|
||||
```bash
|
||||
# Build debug APK
|
||||
./gradlew assembleDebug
|
||||
|
||||
# Install on device
|
||||
adb install -r build/outputs/apk/debug/MosisService-debug.apk
|
||||
|
||||
# Launch the app
|
||||
adb shell am start -n com.omixlab.mosis/.MainActivity
|
||||
```
|
||||
|
||||
## Run Gradle Connected Tests
|
||||
|
||||
```bash
|
||||
# Run all connected Android tests
|
||||
./gradlew connectedAndroidTest
|
||||
```
|
||||
|
||||
## Event Injection via ADB
|
||||
|
||||
Inject touch events for automated testing:
|
||||
|
||||
```bash
|
||||
# Click at normalized coordinates (0.0-1.0)
|
||||
adb shell am broadcast -a com.omixlab.mosis.INJECT_TOUCH \
|
||||
--es touch_type "click" --ef x 0.5 --ef y 0.5
|
||||
|
||||
# Touch down
|
||||
adb shell am broadcast -a com.omixlab.mosis.INJECT_TOUCH \
|
||||
--es touch_type "down" --ef x 0.2 --ef y 0.9
|
||||
|
||||
# Touch up
|
||||
adb shell am broadcast -a com.omixlab.mosis.INJECT_TOUCH \
|
||||
--es touch_type "up" --ef x 0.2 --ef y 0.9
|
||||
```
|
||||
|
||||
## Dock Element Coordinates (Normalized)
|
||||
|
||||
| Element | X | Y |
|
||||
|---------|---|---|
|
||||
| dock-phone | 0.16 | 0.97 |
|
||||
| dock-messages | 0.39 | 0.97 |
|
||||
| dock-contacts | 0.61 | 0.97 |
|
||||
| dock-browser | 0.84 | 0.97 |
|
||||
| back-button | 0.10 | 0.05 |
|
||||
|
||||
## Full Navigation Test Sequence
|
||||
|
||||
```bash
|
||||
# Clear logs and run navigation test sequence
|
||||
adb logcat -c
|
||||
|
||||
# Click Phone dock icon
|
||||
adb shell am broadcast -a com.omixlab.mosis.INJECT_TOUCH \
|
||||
--es touch_type "click" --ef x 0.16 --ef y 0.97
|
||||
sleep 2
|
||||
|
||||
# Click back to return home
|
||||
adb shell am broadcast -a com.omixlab.mosis.INJECT_TOUCH \
|
||||
--es touch_type "click" --ef x 0.1 --ef y 0.05
|
||||
sleep 2
|
||||
|
||||
# Click Messages dock icon
|
||||
adb shell am broadcast -a com.omixlab.mosis.INJECT_TOUCH \
|
||||
--es touch_type "click" --ef x 0.39 --ef y 0.97
|
||||
sleep 2
|
||||
|
||||
# Click back to return home
|
||||
adb shell am broadcast -a com.omixlab.mosis.INJECT_TOUCH \
|
||||
--es touch_type "click" --ef x 0.1 --ef y 0.05
|
||||
sleep 2
|
||||
|
||||
# Click Contacts dock icon
|
||||
adb shell am broadcast -a com.omixlab.mosis.INJECT_TOUCH \
|
||||
--es touch_type "click" --ef x 0.61 --ef y 0.97
|
||||
sleep 2
|
||||
|
||||
# Click back to return home
|
||||
adb shell am broadcast -a com.omixlab.mosis.INJECT_TOUCH \
|
||||
--es touch_type "click" --ef x 0.1 --ef y 0.05
|
||||
sleep 2
|
||||
|
||||
# Click Browser dock icon
|
||||
adb shell am broadcast -a com.omixlab.mosis.INJECT_TOUCH \
|
||||
--es touch_type "click" --ef x 0.84 --ef y 0.97
|
||||
```
|
||||
|
||||
## Reading Logs
|
||||
|
||||
```bash
|
||||
# Filter for Mosis logs
|
||||
adb logcat -s MosisTest ServiceTester RMLUI
|
||||
|
||||
# Filter for navigation events
|
||||
adb logcat -d | grep -iE "navigat|loaded|goBack|rml"
|
||||
|
||||
# Save to file
|
||||
adb logcat -s MosisTest > mosis-log.txt
|
||||
|
||||
# Clear logs
|
||||
adb logcat -c
|
||||
```
|
||||
|
||||
## Expected Log Output
|
||||
|
||||
Successful navigation shows these log patterns:
|
||||
```
|
||||
RMLUI: navigateTo called with: dialer
|
||||
Loading screen: apps/dialer/dialer.rml
|
||||
RMLUI: Navigated to: dialer (history depth: 1)
|
||||
|
||||
RMLUI: goBack called (history depth: 1)
|
||||
Loading screen: apps/home/home.rml
|
||||
RMLUI: Back to: home
|
||||
```
|
||||
Reference in New Issue
Block a user