0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Gemini】自然言語で E2E テストが書ける Journeys for Android Studio を触ってみた

Posted at

Google I/O 2025 で発表された「Journeys」を実際に触ってみました。
この記事では、簡単な概要や使い方などを共有できればと思います。

:robot: Journeys とは

AI(Gemini)を使って自然言語で Android アプリケーションの E2E テストを書ける機能です。
Android Studio から直接シナリオを作成して実行できます。

:tools: 事前準備

Canary バージョンが必要

記事執筆時点では「Android Studio Narwhal」がリリースされていますが、Stable バージョンでは使うことができず Canary バージョンである必要がありました。

今回は「Android Studio Narwhal Feature Drop | 2025.1.2 Canary 7」で動作確認しました。

Gemini の有効化

言わずもがな、Gemini 機能を有効化する必要があります。

コードが学習に使われてしまうかどうかの確認を

今回は学習に使われても良いように、 nowinandroid を使って諸々触ってみました。

:pencil: Journey 作成手順

app モジュールで右クリックし、「Journey File」を選択

名前、説明、ファイル名を入力

Journey 用の XML ファイルが生成

実行する際は、通常のテストと同様に ▷ を押す

:thermometer: Journey を作成してみる

nowinandroid には、記事の検索機能と、記事をブックマークすると自分のブックマークした記事が「Saved」タブに表示される機能があるので、それの一連の流れをテストしてみました。

検索結果 Saved タブ
action6.png action8.png

内容はこんな感じ。

<journey name="My first Journey">
    <description>A Journey that tests ...</description>
    <actions>
        <action>検索ボタンをタップし、検索欄に「test」と入力する</action>
        <action>下までスクロールして、検索結果の2番目のアイテムをブックマークする</action>
        <action>Savedタブへ遷移し、ブックマークしたアイテムが存在することを確認する</action>
    </actions>
</journey>

実行させるとアプリが起動し、 Journey が始まります :rocket:

日本語入力の状態で「test」と打とうとしたため「てst」となってしまい失敗しました 😇

英字キーボードで入力することを追記します :pencil:

<action>検索ボタンをタップし、検索欄に「test」と入力する。英字キーボードで正しく入力されるように注意すること。</action>

再実行させるとテストが完了しました ✅

テキスト入力やスクロール、タップ処理など自然言語でサクッと書いて、気軽に実行できとても楽でした :thumbsup:

:pencil: その他メモ

失敗したプロンプト

少し試してみて、ちゃんと動かなかったプロンプトもありました。
試行回数が多かったり、アプリ外のことをさせようとすると失敗しました。

<action>下までスクロールして、検索結果の10番目のアイテムをブックマークする</action>

10番目のアイテムまでスクロールさせようとして試行回数をオーバーして失敗しました。

<action>端末上部のステータスバーを下にスワイプして通知領域を開き、機内モードボタンをタップする</action>

機内モードの切り替えができるか検証したく、ステータスバーのスワイプを指示して失敗。
アプリ以外の領域は操作できなそう?

<action>Gmailアプリ(com.google.android.gm)を開き、メールを確認する</action>

外部アプリを起動できるか検証したく、Gmailアプリの起動を指示して失敗。
ログインの二段階認証で、認証コードをメールから取得とかできたら良さそうと思ったけど難しそう。

テスト結果の出力

テストを実行すると app/build/outputs/journeysTest ディレクトリに結果が出力されていました。
テスト時に作成されたスクリーンショットと、謎の proto ファイルが生成されていました。

AndroidX Crawler

テストを実行すると、通知で「AndroidX Crawler」なるものが動いていることが観測できました。
調べてみると App Crawler という名前が似たツールがあったので、Journeys はこれを使っているんでしょうか :thinking:

テスト実行後、アプリがアンインストールされる

テスト実行後、アプリがアンインストールされてしまう挙動がありました。
これはまだプレビュー版だからですかね。

:pencil: まとめ

簡単ではありますが、実際に使ってみた内容を記載しました。

Journeys を使うことで、これまでよりも手軽にE2Eテストを作成できそうで、まだプレビュー段階のため不安定な部分もありますが、今後の進化に期待したいです。 🤝

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?