今度こそ！T-DASHを使ってGemini最新版を使ったAndroidアプリの生成AI自動テストを行う手順(その３)

T-DASHで生成AI（Gemini 2.0 Flash）を使ったAndroidアプリの自動テストに関する記事です。

https://qiita.com/advent-calendar/2024/t-dash01

Qiita Advent Calendar 2024 【[今年もT-DASHを使ってみた！ by T-DASH Advent Calendar 2024](https://qiita.com/advent-calendar/2024/t-dash01)】の19日目の記事になります。

T-DASHを用いたユニークな取り組みとして、先日発表されたばかり、Googleの生成AI「Gemini 2.0 Flash」を統合したAndroidアプリの自動テスト方法を紹介します。これから生成AIを活用したアプリが増えていく中で生成AIの自動テストをモバイルアプリでどのように実現するのかは大きな課題ですよね？

この記事では、Gemini 2.0 Flashを活用した「サマリー生成アプリ」の環境構築から実行までの簡単な流れと、それをどのようにT-DASHに統合して自動テストを行うのかを知ることができます。

最終的にこちらのサンプルアプリとT-DASHを使って検証していきます。

https://github.com/google-gemini/generative-ai-android

:::note warn
「その１」の記事「T-DASHを使ってGemini最新版を使ったAndroidアプリの生成AI自動テストを行う手順(その１)」ではmacでT-DASHのモバイル機能が使えなかったのでWineで無理やり動かした話

「その２」はAmazon EC2上でVirtual Desktop環境を構築してWindows上で正規の手段でT-DASHのWindows版を動かしてみました。

今回は、いよいよモバイルアプリの検証をT-DASHを使って実行してみます（前置きが長かったですね）
:::


# T-DASHとは？

![スクリーンショット 2024-12-15 9.55.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/3c8a94b1-b1ec-232e-c31a-8ad0a1ba0e4c.png)

https://service.valtes.co.jp/t-dash/

一言でいうとノーコードのテスト自動化ツールです。競合のツールとしては[Mabl](https://www.mabl.com/ja/)や[Autify](https://autify.jp/)があります。

T-DASHの特徴としては

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

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

# 開発環境の構築

コードを修正しながら色々と試してみたいと思いますので、リモートのWindowsに開発環境を用意する必要があります。

## Android Studioのダウンロード

![2024-12-18_23-54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/e998485d-bc26-5821-a80a-26accd4786ab.png)

## Android Studioのインストール

![2024-12-18_23-54_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/ddae5839-ac1b-300e-b838-af3f5f1b37a2.png)

## Android Studioのインストール失敗
![2024-12-18_23-55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/ac10c30e-cd1a-3657-19f6-333909db4485.png)

検索してみると容量の問題のようです。

早速インスタンスを作り直しました
![2024-12-19_23-34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/c3071df5-1abc-1a4c-b7f7-b2103f2212ab.png)

## Android Studioのインストール
![スクリーンショット 2024-12-19 0.58.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/bd84355a-ca6a-d7e4-95c1-46e8523f48fb.png)
![スクリーンショット 2024-12-19 0.58.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/0068997f-d53a-abff-1e8f-0ce33f89d157.png)

無事にインストールが完了しました

## ソースコードの取得

https://github.com/google-gemini/generative-ai-android

こちらのリポジトリをダウンロードします。

## Android Studioで開く
![2024-12-19_23-43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/250f26fe-39d4-b0d8-63c5-5bbb37366369.png)

`generativeai-android-sample`を開きます

## local.propertiesにapiKeyを追加
![2024-12-19_23-47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/03fb3c69-7d51-e9b5-7cf1-7b1237754dc2.png)

# エミュレーターの起動
![2024-12-19_23-48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/8f5bbbf8-c3a8-1aa1-59e1-5646464b6a81.png)

ひとまずデフォルトでファ行っていたエミュレーターを起動してみましょう
![2024-12-19_23-49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/f263ef5d-786d-4898-3c4f-76606133fdd3.png)

## あれ？また問題が・・・
![2024-12-19_23-49_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/b4e6fce2-2d35-481e-e9b8-d8885b46af50.png)

調査をしてみると・・・今回はAmazon EC2のVirtual Desktop上で動作させているので、そこでエミュレーター（バーチャルデバイス）を起動することは出来ないようです。

## トライしたもの

新たにエミュレーターの設定
![2024-12-19_23-52_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/fa0c3ce5-ab63-492e-3abf-299da2cffbf7.png)

System ImageのABIを変更して
![2024-12-20_00-04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/493bceb3-125a-9150-08e8-4fc2f76e5422.png)

エミュレーターのセットアップは出来ましたが
![2024-12-20_00-10_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/4670fefa-efe4-6489-52e5-20ea735d7370.png)

起動しません
![2024-12-20_00-10_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/4fb2eb81-548f-9aa2-d52d-c92a16fc43b4.png)

x86のイメージを選んでも駄目でした
![2024-12-20_00-12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/5834706f-6d72-4a56-26af-ea4e6c170456.png)

## Genymotionを試す
![スクリーンショット 2024-12-20 7.15.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/3433b403-0825-5b67-42dd-2b561dfddad7.png)

結論・・・Genymotionもバーチャルデバイスとして動くので通常のエミュレーター同様に動きませんでした。

# ひとまずT-DASHにapkを入れてみる
エミュレーター問題はすぐに解決できなそうなので、せっかくAndroid Studioの設定ができたところでapkの設定を進めてみます

## Build APK
![2024-12-20_00-40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/13ad1fb9-5fbf-31f8-6dc3-9f507a7a744a.png)

# プロジェクト作成
![2024-12-20_00-43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/28313258-02b0-695d-74d7-946473b1e980.png)

![2024-12-20_00-43_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/f9b5d7cb-d397-15b2-9c41-115627967bf9.png)

# プロジェクト出来ました！
![2024-12-20_00-44_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/b966f44c-6822-de0a-b83e-7641862f9191.png)

# テストを作成
![2024-12-20_00-45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/0c948a02-b259-4c0b-c9b5-053bd203bbf2.png)
![2024-12-20_00-46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/92c7b330-c650-292a-b99d-8a202cc25726.png)

# テストケース作成
![2024-12-20_22-21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/ca0d83d5-4e35-deef-7008-9a87ceb45b34.png)

# テスト手順作成
![2024-12-20_22-23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/cab2f983-02e1-63b9-7566-6307321b05a7.png)

# デバッグ実行
![2024-12-20_22-24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/b9ddbc7e-e5c2-3615-02ca-5f617f25f10f.png)

# テストデバッグ実行
![2024-12-20_22-25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/df7596ff-32d2-5476-3b66-cad6dd158153.png)

SDKのパスやAppiumサーバーが起動できていないのでそれぞれセットアップします

# 設定完了

![2024-12-20_22-27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129712/b6c1ce86-7808-d19b-d91a-512ea778ffc5.png)

この状態まで持っていけたらT-DASHでアプリをデバッグする準備は完了です

# まとめ

エミュレーターの起動以外は全てセットアップが完了しました。

ここまで意気揚々とセットアップを進めてきましたがエミュレーターを起動することが出来ませんでした。公式以外のバーチャルデバイスでも無理だと言うことがわかりました。またもや問題にぶつかってしまいましたが、前回はT-DASHの起動までしか出来ていないのでだいぶ前に進めることが出来ました。

次回はAmazon EC2でエミュレーターを起動する方法を考えていきましょう。