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?

動かせるのか?T-DASHを使ってGemini最新版を使ったAndroidアプリの生成AI自動テストを行う手順(その4)

Posted at

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とは?

スクリーンショット 2024-12-15 9.55.26.png

一言でいうとノーコードのテスト自動化ツールです。競合のツールとしてはMablAutifyがあります。

T-DASHの特徴としては

日本語で書いたテストケースがスクリプトになる

というのが特徴となっています。この記事ではコストや機能で競合ツールと比較したわけではありませんが、月額4,840円というのはテスト自動化をノーコードで始めるにはお手軽な価格帯に設定されていると思います。

Amazon EC2でAndroidエミュレーターを動かすには?

https://aws.amazon.com/jp/ec2/features/
2024-12-20_22-39.png

Amazon EC2のドキュメントを確認していると見つけました

非仮想化環境での実行

を実現することが出来るベアメタルインスタンスというものがありました。

Amazon EC2のベアメタルインスタンス

Windows 2025ではmetalは利用できない

スクリーンショット 2024-12-20 22.42.58.png
スクリーンショット 2024-12-20 22.43.13.png

Windows 2022

確認したところwindows2022以前のOSであればベアメタルインスタンスを利用することが出来ます。

スクリーンショット 2024-12-20 22.43.39.png
スクリーンショット 2024-12-20 22.44.00.png

Tokyoリージョンで一番安いベアメタルインスタンス m5zn.metal

スクリーンショット 2024-12-20 22.52.22.png

AWSで一番安いのはこちらUSリージョンのインスタンス

2024-12-20_22-59.png

たった一ドルちょっとの違いですが、長時間動かすことを考えると大きいですよね?1時間毎に飲み物が一本買える値段です

早速ベアメタル環境でEC2をセットアップします

前回までの記事でEC2のセットアップやT-DASHアプリ、Android Studioのセットアップは完了しているので割愛

エミュレーターを起動

2024-12-20_23-16.png

ついにエミュレーターが起動し始めます。

2024-12-20_23-16_1.png

Googleのロゴも!

2024-12-20_23-17.png

Androidのホーム画面

2024-12-20_23-17_1.png

ついにエミュレーターが起動しましたね!

早速、アプリを起動

こちらをセットアップして起動していきます。セットアップ手順は前回の記事にあるので御覧ください

2024-12-20_23-18.png

Gemini APIを使った挙動の確認も問題なしです。

2024-12-20_23-19_1.png

T-DASHのセットアップ

2024-12-20_23-33.png

プロジェクト情報の編集

プロジェクト名等はあとから変更も可能でした

2024-12-20_23-34_1.png

スイートの作成

2024-12-20_23-35.png

「スイート」とあると何を示しているかわかりにくいのは私だけかもしれませんが、こういうことのようです。つまりT-DASHの場合はテストを実行する一連のまとまりのようなもののようです。
スクリーンショット 2024-12-22 2.20.59.png
引用元: weblio: スイート

スイート作成直後

2024-12-20_23-36.png

テストケース作成

2024-12-20_23-37.png

プラスボタンを押してテストケースを作成します。次にテストケース名「インストールと起動」をクリックすると以下の画面に切り替わります

2024-12-20_23-39.png

テスト手順作成で説明した通り、左側にある一覧から機能を選択します。
2024-12-20_23-39_1.png

右側の表に選択した制御内容が表示され、設定等を入力していきます。

こちらの設定はapkをインストールして起動するという設定をしようとしましたが、apkのパスの入力方法などがわからず、一旦Noneにしてみました。右上にある「保存する」で保存します。

テストケースの一覧から必要なテストを選び「虫マーク」をクリックして実行します。

ちなみにこの画面では左側にあるテストスイートの虫マークをクリックするとそこに含まれる複数のテストケースをまとめて実行することが出来ます。今回は右側の特定のテストケースの虫マークから実行してみます。

2024-12-22_02-32.png

ようやく全てのセットアップが完了しているので、こちらから実行することが出来るようになりました。

スクリーンショット 2024-12-20 23.47.37.png

実行画面

スクリーンショット 2024-12-20 23.47.59.png

エラー発生

スクリーンショット 2024-12-20 23.48.14.png

もちろんNoneを設定していたのでそのままでは動きませんでした。

スクリーンショット 2024-12-20 23.54.33.png
スクリーンショット 2024-12-20 23.55.39.png

ファイルパスの設定なども色々行いましたが、インストールして実行することが出来ず終いでした。apkのインストールについてのトライは省略します。

別の起動方法

Androidアプリを実行する場合、インストール済みであればパッケージ名とActivityのクラス名を指定することで起動することが出来ます。

スクリーンショット 2024-12-21 0.10.43.png

パッケージ名を指定した起動は無事にテストが完了しました。1️⃣のデバック開始ボタンを押すと2️⃣のテストケースが一つづつ実行されます。完了すると3️⃣のダイアログが表示されます。
2024-12-22_02-40.png

実行中の画面はこちらです。1️⃣に進行状況は表示されています。2️⃣は実際にエミュレーターでアプリが起動する瞬間になります。
2024-12-22_02-41.png

↑では起動してテストケースが終了していたのでアプリが起動しているスクショが撮れませんでしたので、テストケースに「待機する」を追加してみました。アプリの起動待ちやスクショの保存などを利用するときにはこの待機が大活躍しそうです
2024-12-22_02-44.png

まとめ

無事にT-DASHを使ってモバイルアプリの検証が出来るようになりました。次回の記事では、画面の操作をどのように実行していくのかをまとめていきます。

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?