コンテンツにスキップ

英語から自動翻訳されています。

英語で読む

コーディングエージェントは、人と同じ方法でアプリの登録をテストできます。Android アプリをビルドし、Android Emulator で実行し、Proxy Mail QA のテスト用アドレスでフォームを入力し、メールのコードを入力するかリンクを開きます。Proxy Mail QA はエージェントにアドレスと、メールのコードやリンクを渡します。エミュレーターの操作はエージェント自身のツールで行います。通常は adb です。

以下のどの設定も、まず Proxy Mail QA をエージェントに接続します。1 つのプロンプトで設定 を貼り付けるか、MCP server を手動で接続してください。

adb を使う Claude Code、Codex、Cursor

Section titled “adb を使う Claude Code、Codex、Cursor”

シェルコマンドを実行できるエージェントなら、Android SDK の platform tools にある adb でエミュレーターを操作できます。Android Studio の Device Manager からエミュレーターを起動し(または名前を指定して emulator -avd で起動し)、Proxy Mail QA を接続したエージェントでプロジェクトを開いて、次のように依頼します。

デバッグ版アプリをビルドし、起動中のエミュレーターにインストールして開いてください。新しい Proxy Mail QA のテスト用アドレスと、そのとき渡されるパスワードで登録し、メールの確認コードを入力して、アプリでアカウントが確認済みと表示されることを確かめてください。各ステップでスクリーンショットを撮ってください。

エージェントは通常、次のように進めます。

  1. ./gradlew installDebug でビルドしてインストールし、adb shell am start でアプリを開きます。
  2. password: true を指定して create_address を呼び出します。
  3. adb shell uiautomator dump(または adb exec-out screencap -p のスクリーンショット)から入力欄を見つけ、adb shell input tap でタップし、adb shell input text で入力します。
  4. 送信してから、wait_for_code または wait_for_link を呼び出します。
  5. コードを入力するか、adb shell am start -a android.intent.action.VIEW -d とリンクでアプリ内でリンクを開き、App Link またはカスタムスキームに処理させます。
  6. スクリーンショットを撮り、アカウントが確認済みと表示されていることを確かめます。

adb shell input text ではスペースを %s と書く必要があり、一部の文字はエスケープが必要です。入力後に各欄を確認するよう、特にパスワードについてはエージェントに依頼してください。

Android Studio の Gemini エージェント

Section titled “Android Studio の Gemini エージェント”

Android Studio のエージェントモードはリモートの MCP サーバーを使えます(Google のガイド)。Settings → Tools → AI → MCP Servers で Enable MCP Servers を選び、次を追加します。

mcp.json
{
"mcpServers": {
"proxymail-qa": {
"httpUrl": "https://api.proxymail.qa/mcp"
}
}
}

Start Login を選び、ブラウザでサインインします。Android Studio は MCP のプロンプトテンプレートに対応していないため、test_signup_flow のようなプロンプトを選ぶのではなく、普通の言葉で依頼してください。Android Studio のエージェントはまだ私たちでテストしていません。サインインが完了しない場合は、Android Studio と併せて Claude Code または Codex を使ってください。

  • 手元のコンピューターの開発サーバー。 エミュレーターからは 10.0.2.2 でコンピューターに接続するため、開発ビルドのリンクが 10.0.2.2:3000 を指すのは想定どおりです。開発環境としてマークする(mark_dev_host)ようエージェントに依頼すると、check_email はそれらのリンクを失敗にせず合格にします。
  • App Links。 リンクが届いた後、expect_host に App Link のドメインを指定して check_email を使うと、リンクがそこへ向かうか確認できます。count_emails は誤って送られた 2 通目のメールを検出します。リンクがアプリではなく Chrome で開く場合、よくある原因はドメインの assetlinks.json かアプリの intent filter です。
  • 複数の枠に分かれたコード。 エージェントは最初の枠をタップしてコード全体を入力し、先に進む前にすべての桁が入ったか確認します。
  • 項目の多い登録フォーム。 ルールのあるユーザー名、生年月日、国などについては、form_values がそのために作った新しいアドレスから各欄の値を返します。
  • 次回も同じアカウント。 アカウント作成時に、使用場所(staging のような environment と、android のようなタグ)を記録するようエージェントに依頼すると、list_addresses で再び見つけられます。保存済みパスワードの読み取りを許可した API キー があれば、get_sign_in は 1 回の呼び出しでアカウントとパスワードを返します。
  • レポート。 エージェントは最初に start_run を、最後に finish_run を呼び出します。最後の呼び出しで、レポートが Markdown で返されます。
  • クーポン。 アプリで特典に登録した後、kind: coupon を指定して wait_for_code を使うと、割引、終了日、届くまでの時間とともにクーポンが返ります。エージェントはそれをアプリのプロモーション欄に入力します。
  • 決済はテスト支払いのみで。 Google Play のライセンステスターとテストカード、またはアプリ独自のテストモードを使い、実際のカードや実際の購入は使わないでください。エージェントはアプリの動作を record_coupon_result で記録します。
  • アプリを開くリンク形式のクーポン(myapp://redeem?code=… など): app: true を指定した wait_for_link がそれを返し、エージェントは adb shell am start -a android.intent.action.VIEW -d とリンクで開きます。
  • 1 人 1 回の特典。 同じアドレスの別形式(get_address_variants)で再登録してから check_offers を使うと、アプリが特典を 2 回与えたかどうかがわかります。
  • 扱いにくい名前とパスワード。 get_name_variants と get_password_variants はフォームのほかの欄の値(アポストロフィ、アクセント記号、他の文字体系、各記号クラス、欄の上限)を返します。エージェントはそれぞれを入力し、アプリの動作を報告します。
  • 同意と配信停止。 エージェントは登録時に選んだ内容を record_consent で記録し、アプリの設定またはメールのリンクから配信を停止して mark_unsubscribed を呼び出します。後で check_unsubscribe が、その後に届いたマーケティングメールを一覧にします。

CI で実行する UI テストとして残すには、Android (Espresso) を、iOS も含むフローについては Maestro を参照してください。

このページについて質問がありますか?

質問はどの言語でもかまいません。ドキュメントからすぐに回答を得ることも、Proxy Mail QA チームに質問を送ることもできます。チームからの返信は英語です。