T-DASHで生成AI(Gemini 2.0 Flash)を使ったAndroidアプリの自動テストに関する記事です。
Qiita Advent Calendar 2024 【今年もT-DASHを使ってみた! by T-DASH Advent Calendar 2024】の20日目の記事になります。
T-DASHを用いたユニークな取り組みとして、先日発表されたばかり、Googleの生成AI「Gemini 2.0 Flash」を統合したAndroidアプリの自動テスト方法を紹介します。これから生成AIを活用したアプリが増えていく中で生成AIの自動テストをモバイルアプリでどのように実現するのかは大きな課題ですよね?
この記事では、Gemini 2.0 Flashを活用した「サマリー生成アプリ」の環境構築から実行までの簡単な流れと、それをどのようにT-DASHに統合して自動テストを行うのかを知ることができます。
最終的にこちらのサンプルアプリとT-DASHを使って検証していきます。
「その1」の記事「T-DASHを使ってGemini最新版を使ったAndroidアプリの生成AI自動テストを行う手順(その1)」ではmacでT-DASHのモバイル機能が使えなかったのでWineで無理やり動かした話
「その2」はAmazon EC2上でVirtual Desktop環境を構築してWindows上で正規の手段でT-DASHのWindows版を動かしてみました。
「その3」ではAmazon EC2上で動かしたバーチャル環境上に開発環境をセットアップし、T-DASHの設定も全て終わらせました。前回こそはこのプロジェクトが完了する予定でしたが、Androidエミュレーターが動作しないという問題にぶち当たってしまいました。
「その4」の今回こそはT-DASHを通してモバイルアプリの自動テストを実行してみましょう!
T-DASHとは?
一言でいうとノーコードのテスト自動化ツールです。競合のツールとしてはMablやAutifyがあります。
T-DASHの特徴としては
日本語で書いたテストケースがスクリプトになる
というのが特徴となっています。この記事ではコストや機能で競合ツールと比較したわけではありませんが、月額4,840円というのはテスト自動化をノーコードで始めるにはお手軽な価格帯に設定されていると思います。
Amazon EC2でAndroidエミュレーターを動かすには?
https://aws.amazon.com/jp/ec2/features/
Amazon EC2のドキュメントを確認していると見つけました
非仮想化環境での実行
を実現することが出来るベアメタルインスタンス
というものがありました。
Amazon EC2のベアメタルインスタンス
Windows 2025ではmetalは利用できない
Windows 2022
確認したところwindows2022以前のOSであればベアメタルインスタンスを利用することが出来ます。
Tokyoリージョンで一番安いベアメタルインスタンス m5zn.metal
AWSで一番安いのはこちらUSリージョンのインスタンス
たった一ドルちょっとの違いですが、長時間動かすことを考えると大きいですよね?1時間毎に飲み物が一本買える値段です
早速ベアメタル環境でEC2をセットアップします
前回までの記事でEC2のセットアップやT-DASHアプリ、Android Studioのセットアップは完了しているので割愛
エミュレーターを起動
ついにエミュレーターが起動し始めます。
Googleのロゴも!
Androidのホーム画面
ついにエミュレーターが起動しましたね!
早速、アプリを起動
こちらをセットアップして起動していきます。セットアップ手順は前回の記事にあるので御覧ください
Gemini APIを使った挙動の確認も問題なしです。
T-DASHのセットアップ
プロジェクト情報の編集
プロジェクト名等はあとから変更も可能でした
スイートの作成
「スイート」とあると何を示しているかわかりにくいのは私だけかもしれませんが、こういうことのようです。つまりT-DASHの場合はテストを実行する一連のまとまりのようなもののようです。
引用元: weblio: スイート
スイート作成直後
テストケース作成
プラスボタンを押してテストケースを作成します。次にテストケース名「インストールと起動」をクリックすると以下の画面に切り替わります
テスト手順作成で説明した通り、左側にある一覧から機能を選択します。
右側の表に選択した制御内容が表示され、設定等を入力していきます。
こちらの設定はapkをインストールして起動するという設定をしようとしましたが、apkのパスの入力方法などがわからず、一旦Noneにしてみました。右上にある「保存する」で保存します。
テストケースの一覧から必要なテストを選び「虫マーク」をクリックして実行します。
ちなみにこの画面では左側にあるテストスイートの虫マークをクリックするとそこに含まれる複数のテストケースをまとめて実行することが出来ます。今回は右側の特定のテストケースの虫マークから実行してみます。
ようやく全てのセットアップが完了しているので、こちらから実行することが出来るようになりました。
実行画面
エラー発生
もちろんNoneを設定していたのでそのままでは動きませんでした。
ファイルパスの設定なども色々行いましたが、インストールして実行することが出来ず終いでした。apkのインストールについてのトライは省略します。
別の起動方法
Androidアプリを実行する場合、インストール済みであればパッケージ名とActivityのクラス名を指定することで起動することが出来ます。
パッケージ名を指定した起動は無事にテストが完了しました。1️⃣のデバック開始ボタンを押すと2️⃣のテストケースが一つづつ実行されます。完了すると3️⃣のダイアログが表示されます。
実行中の画面はこちらです。1️⃣に進行状況は表示されています。2️⃣は実際にエミュレーターでアプリが起動する瞬間になります。
↑では起動してテストケースが終了していたのでアプリが起動しているスクショが撮れませんでしたので、テストケースに「待機する」を追加してみました。アプリの起動待ちやスクショの保存などを利用するときにはこの待機が大活躍しそうです
まとめ
無事にT-DASHを使ってモバイルアプリの検証が出来るようになりました。次回の記事では、画面の操作をどのように実行していくのかをまとめていきます。