docs(android-test): Minimalvariante limits — was geht / was nicht
Document GUI smoke boundaries: deep-link + best-effort taps work; unattended settlement and full UI E2E on low-RAM emulator do not.
This commit is contained in:
parent
24edc8db0c
commit
80f0219f11
1 changed files with 61 additions and 0 deletions
|
|
@ -26,6 +26,66 @@ GUI is planned via flags (below), not required to use these scripts today.
|
|||
**Ground rule:** bring it to run; app diffs only if needed and **minimal**; prefer
|
||||
extending existing `dev/hernani-inference/*` branches over new trees.
|
||||
|
||||
### Minimalvariante: was geht / was nicht
|
||||
|
||||
Einschränkungen der **aktuell implementierten** Minimalvariante (deep-link +
|
||||
uiautomator best-effort). Kein voller Dual-Platform-GUI-Stack, kein Ersatz für
|
||||
Host-CLI-Settlement.
|
||||
|
||||
#### Geht (grün)
|
||||
|
||||
| Fähigkeit | Wie / Hinweis |
|
||||
|-----------|----------------|
|
||||
| APK installieren | F-Droid `net.taler.wallet.fdroid` **oder** Source `assembleFdroidDebug` (`.debug`) |
|
||||
| GOA-Exchange ohne manuelles Add | Source-Build von `fix-bank-withdraw-auto-exchange` (Default in `run-android-build-and-smoke.sh`) |
|
||||
| Withdraw/Pay **starten** | `adb` deep-link `taler://withdraw/…` / `taler://pay…` (Ersatz für QR-Scan) |
|
||||
| Light UI-Drive | Confirm / Accept / Pay-Taps über Label-Suche (`lib_ui.py`, gui-smoke, chain) |
|
||||
| Multi-Runden-Taps | `run-android-gui-smoke.sh` / `run-goa-gui-chain.sh` (best-effort) |
|
||||
| Explorer-Mint (Kette) | `run-goa-gui-chain.sh` + `EXP_PW_FILE` (GOA + stage) |
|
||||
| Stack-Wahl | `STACK=goa` / `stage` (Bank/Merchant-URLs) |
|
||||
| Artefakte | Screenshots, UI-XML, logcat unter `out*` / `out-gui-chain/` (gitignored) |
|
||||
| Hybrid-Smoke | Install + Intent + leichte Taps: `run-android-pay-smoke.sh` |
|
||||
| Settlement **nachweisen** | **Host-seitig**: `taler-monitoring.sh e2e` / `ladder` (nicht Android-UI) |
|
||||
| Flags abschalten | `AUTO_ANDROID=0` skip; `AUTO_GUI=0` → nur deep-link/pay-smoke |
|
||||
|
||||
#### Geht **nicht** oder nur eingeschränkt (rot / gelb)
|
||||
|
||||
| Beschränkung | Folge / Workaround |
|
||||
|--------------|--------------------|
|
||||
| **Unattended Confirm → settled im Emulator (~4 GiB Host)** | Häufig **System UI ANR**; Taps bleiben hängen. Prefer **Wait** auf ANR-Dialog, echtes Gerät, oder Host mit mehr RAM. Kein zuverlässiges grünes E2E nur über GUI auf dem schwachen Emulator. |
|
||||
| **Vollständige Wallet-Settlement-Assertion in der GUI** | Minimalvariante prüft **nicht** „Balance final / transfer_done“ in der App-Oberfläche. Proof bleibt CLI/e2e. |
|
||||
| **Kamera / physischer QR-Scan** | Absichtlich nicht automatisiert; deep-link ist der Shortcut. Landing-QR-Pfade sind **HTTP**-Thema, nicht Android-GUI. |
|
||||
| **Browser-Shop-Checkout-UI** | Kein Chromium/WebView-Drive; Pay-URI kommt per Template-`POST` + Intent. |
|
||||
| **Volles ToS-Scroll / alle Dialoge** | Best-effort Accept-Tap; lange ToS oder unerwartete Sheets können hängen bleiben. |
|
||||
| **Published F-Droid allein auf GOA** | Kann Exchange-Add / Spinner-Probleme zeigen → **fix-branch-APK** bauen; bei Spinner-Hang optional `fix-withdraw-spinner-fallback`. |
|
||||
| **iOS-GUI** | Nicht in diesem Tree; siehe taler-ios `gui-workflows`. |
|
||||
| **macOS dual AVD / Homebrew-Helpers** | Upstream `gui-workflows`; hier nur Linux-taugliche Port-Ideen. |
|
||||
| **`AUTO_*` in jedem Script erzwungen** | Design + teilweise verdrahtet; Wrapper-Checkliste noch offen. |
|
||||
| **`run-until-done` / CLI-Wallet in GUI-Skripten** | Gehört zu CLI-Automation, nicht GUI; siehe `CLI-AUTOMATION-NOTES.md`. |
|
||||
| **CI grün = „User hat bezahlt“** | Smoke = Intent + best-effort UI. Wirtschaftlicher Erfolg = Host-e2e / ladder / Explorer. |
|
||||
|
||||
#### Erwartetes Ergebnis pro Schicht
|
||||
|
||||
| Schicht | Erfolgskriterium Minimalvariante |
|
||||
|---------|----------------------------------|
|
||||
| A Install | APK installed, App startet |
|
||||
| B Deep-link | Intent delivered, Wallet öffnet Withdraw/Pay-Flow |
|
||||
| C GUI taps | Dump+Tap ohne Crash; ANR ggf. mit Wait; **kein** Garant für „Paid“ |
|
||||
| D Evidence | Artefakte geschrieben |
|
||||
| Settlement | **Außerhalb** GUI: Host e2e/ladder |
|
||||
|
||||
#### Wann Minimalvariante reicht
|
||||
|
||||
- Smoke nach APK-/Branch-Build (Intent kommt an, App crasht nicht).
|
||||
- Manuelle Nacharbeit am Gerät nach vorbereiteten URIs.
|
||||
- GOA/stage **Erreichbarkeit** von Landing/Template + Wallet-Einstieg.
|
||||
|
||||
#### Wann nicht reicht → nächster Schritt
|
||||
|
||||
- Unattended grünes Pay-E2E auf dem Emulator → mehr RAM / physisches Gerät, ggf. `fix-withdraw-spinner-fallback`.
|
||||
- Beweis „Münzen da / Merchant paid“ → CLI e2e/ladder, nicht GUI-smoke.
|
||||
- iOS / Dual-Platform → andere Repos/Flags, nicht diese Skripte.
|
||||
|
||||
```bash
|
||||
cd scripts/taler-monitoring/android-test
|
||||
|
||||
|
|
@ -170,6 +230,7 @@ Scripts **today** implement Android only; they should honour:
|
|||
## Checklist
|
||||
|
||||
- [x] Minimal variant documented
|
||||
- [x] Minimalvariante: was geht / was nicht (Beschränkungen)
|
||||
- [x] Two stacks (goa / stage)
|
||||
- [x] Flags design (`AUTO_ANDROID` / `AUTO_GUI` / platform defaults)
|
||||
- [x] Linux default = Android suite only
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue