Android-Apps mit einem Coding-Agent
Automatisch aus dem Englischen übersetzt.
Auf Englisch lesenEin Coding-Agent kann die Registrierung deiner Android-App so testen wie ein Mensch: Er baut sie, führt sie im Android Emulator aus, füllt das Formular mit einer Proxy Mail QA-Testadresse aus und gibt dann den Code ein oder öffnet den Link aus der E-Mail. Proxy Mail QA gibt dem Agent die Adresse und den Code oder Link aus der E-Mail; den Emulator steuert der Agent mit seinen eigenen Tools, meist adb.
Jedes Setup unten beginnt damit, dass Proxy Mail QA mit dem Agent verbunden ist: Füge das Setup mit einem Prompt ein oder verbinde den MCP server von Hand.
Claude Code, Codex oder Cursor mit adb
Abschnitt betitelt „Claude Code, Codex oder Cursor mit adb“Jeder Agent, der Shell-Befehle ausführen kann, kann den Emulator über adb aus den Platform Tools des Android SDK steuern. Starte einen Emulator über den Device Manager von Android Studio (oder emulator -avd mit seinem Namen), öffne dein Projekt im Agent mit verbundenem Proxy Mail QA und frage:
Baue die Debug-App, installiere sie auf dem laufenden Emulator und öffne sie. Registriere dich mit einer neuen Proxy Mail QA-Testadresse und dem Passwort, das sie dir gibt, gib dann den Bestätigungscode aus der E-Mail ein und prüfe, ob die App das Konto als bestätigt anzeigt. Mach bei jedem Schritt einen Screenshot.
Der Agent macht dann typischerweise Folgendes:
- Er baut und installiert mit
./gradlew installDebugund öffnet die App mitadb shell am start. - Er ruft
create_addressmitpassword: trueauf. - Er findet die Felder über
adb shell uiautomator dump(oder einen Screenshot vonadb exec-out screencap -p), tippt sie mitadb shell input tapan und schreibt mitadb shell input text. - Er sendet ab und ruft dann
wait_for_codeoderwait_for_linkauf. - Er gibt den Code ein oder öffnet den Link in der App mit
adb shell am start -a android.intent.action.VIEW -dund dem Link, damit dein App Link oder dein eigenes Schema ihn verarbeitet. - Er macht einen Screenshot und prüft, ob der Bildschirm das Konto als bestätigt anzeigt.
adb shell input text braucht Leerzeichen als %s und manche Zeichen maskiert. Bitte den Agent also, jedes Feld nach der Eingabe zu prüfen, besonders Passwörter.
Der Gemini-Agent von Android Studio
Abschnitt betitelt „Der Gemini-Agent von Android Studio“Der Agent-Modus von Android Studio kann entfernte MCP-Server nutzen (Anleitung von Google). Wähle in Settings → Tools → AI → MCP Servers Enable MCP Servers und füge hinzu:
{ "mcpServers": { "proxymail-qa": { "httpUrl": "https://api.proxymail.qa/mcp" } }}Wähle Start Login, um dich im Browser anzumelden. Android Studio unterstützt keine MCP-Prompt-Vorlagen, frag also in einfachen Worten, statt einen Prompt wie test_signup_flow zu wählen. Wir haben den Agent von Android Studio selbst noch nicht getestet; wenn die Anmeldung nicht abschließt, nutze stattdessen Claude Code oder Codex neben Android Studio.
Was du noch erfragen kannst
Abschnitt betitelt „Was du noch erfragen kannst“- Ein Dev-Server auf deinem Computer. Der Emulator erreicht deinen Computer unter
10.0.2.2, daher sind Links eines Dev-Builds auf10.0.2.2:3000zu erwarten. Bitte den Agent, es als Dev-Umgebung zu markieren (mark_dev_host), dann lässtcheck_emaildiese Links gelten, statt sie als Fehler zu werten. - App Links. Nachdem der Link angekommen ist, prüft
check_emailmitexpect_hostauf deine App-Link-Domain, ob der Link dorthin führt, undcount_emailserkennt eine versehentlich gesendete zweite E-Mail. Wenn der Link Chrome statt der App öffnet, liegt es meist anassetlinks.jsonder Domain oder am Intent-Filter der App. - Ein Code, aufgeteilt in Kästchen. Der Agent tippt auf das erste Kästchen, gibt den ganzen Code ein und prüft dann, ob jede Ziffer angekommen ist, bevor er weitermacht.
- Ein längeres Registrierungsformular. Für einen Benutzernamen mit Regeln, ein Geburtsdatum oder ein Land liefert
form_valuesfür jedes Feld einen Wert aus einer neuen Adresse, die dafür erstellt wird. - Dasselbe Konto beim nächsten Mal. Bitte den Agent, beim Erstellen festzuhalten, wo das Konto verwendet wird (
environment, etwastaging, und Tags wieandroid), damitlist_addresseses wiederfindet. Mit einem API-Schlüssel, der gespeicherte Passwörter lesen darf, liefertget_sign_indas Konto und sein Passwort in einem Aufruf. - Ein Bericht. Der Agent ruft zuerst
start_runund am Endefinish_runauf, das den Bericht in Markdown zurückgibt.
Angebote und Marketing-E-Mails
Abschnitt betitelt „Angebote und Marketing-E-Mails“- Der Gutschein. Nach der Anmeldung für ein Angebot in der App liefert
wait_for_codemitkind: couponden Gutschein mit Rabatt, Enddatum und wie lange es gedauert hat. Der Agent gibt ihn in das Aktionscode-Feld der App ein. - Checkout, nur mit Testzahlungen. Nutze die Lizenztester und Testkarten von Google Play oder den eigenen Testmodus der App, nie eine echte Karte oder einen echten Kauf. Der Agent hält mit
record_coupon_resultfest, was die App gemacht hat. - Ein Gutschein als Link, der die App öffnet, etwa
myapp://redeem?code=…:wait_for_linkmitapp: trueliefert ihn, und der Agent öffnet ihn mitadb shell am start -a android.intent.action.VIEW -dund dem Link. - Ein Angebot pro Person. Eine erneute Anmeldung mit einer Variante derselben Adresse (
get_address_variants) und danachcheck_offerszeigt, ob die App das Angebot zweimal gewährt hat. - Schwierige Namen und Passwörter.
get_name_variantsundget_password_variantsliefern Werte für die anderen Felder des Formulars (Apostrophe, Akzente, andere Schriften, jede Symbolklasse, die Grenzen des Felds); der Agent gibt jeden ein und berichtet, was die App gemacht hat. - Einwilligung und Abmeldung. Der Agent hält mit
record_consentfest, was er bei der Registrierung gewählt hat, meldet sich in den Einstellungen der App oder über den Link der E-Mail ab, ruftmark_unsubscribedauf, und später listetcheck_unsubscribealle Marketing-E-Mails, die danach kamen.
Stattdessen als Test schreiben
Abschnitt betitelt „Stattdessen als Test schreiben“Um die Prüfung als UI-Test zu behalten, der in CI läuft, siehe Android (Espresso) oder Maestro für einen Ablauf, der auch iOS abdeckt.
Eine Frage zu dieser Seite?
Frag in jeder Sprache. Die Doku kann dir sofort antworten oder deine Frage an das Team von Proxy Mail QA schicken, das auf Englisch antwortet.