ローソンデジタルイノベーション テックブログ

ローソンデジタルイノベーション(LDI)の技術ブログです

Shiratesを使ってAndroidをセットアップする(1)- テスト実行時に必要なセットアップ手順

ども。LDI品質管理部の仙波です。 スマホアプリの自動テストを担当しています

久しぶりに自動テストの作成に関する投稿をしてみます。

今回はAndroidのエミュレーター使ってテストを行う場合に必要となるセットアップを紹介します。

テスト実行時に必要なセットアップ

自動テストを実行する場合、テストのシナリオを流す前に事前にセットアップしないといけないことが色々あります。 例えば以下のようなものがあります。

  • 端末のセットアップ(実機/エミュレーター)
  • アプリケーションの(再)インストール
  • テストデータのセットアップ

本記事ではAndroidを前提に説明します。

Androidエミュレーターのセットアップ

Androidのエミュレーターに関する具体的な作業としては以下のようなものがあります。

  • 仮想マシン(AVD)の作成
  • 仮想マシン(AVD)の起動
  • 言語設定
  • 開発者モードの有効化
  • 自動入力サービスの無効化
  • プロキシの設定

仮想マシン(AVD)の作成

Android StudioでAVD(Android Virtual Device)を作成します。 テストコード作成者のマシン上でテストを行う場合、この作業は通常は手動で1回行えばよいと思います。

クラウド環境等を利用しており繰り返しAVDを作成する必要がある場合はavdmanagerを使用して自動化できると思います。

AVDの作成例

この後の説明で使用するため、Android Studio (Flamingo)を使用してAVDを作成します。

  1. Android Studio を起動します。Device ManagerのVirtualタブにある Create Deviceをクリックします。

  2. Pixel 6を選択してNextをクリックします。

  3. Tiramisuを選択してNextをクリックします。

  4. AVD NameをPixel 6(Android 13)に書き換えます。

  5. Show Advanced Settingsをクリックします。

  6. Enable Device FrameをOFFにします。

  7. Finishをクリックします。Device ManagerにAVDが追加されます。



エミュレーターをウィンドウ表示するための設定

Android Studioで以下の設定を行います。

  1. Android Studio > Preferences (Windowsの場合は 'Settings') を選択します。
  2. Tools > Emulator を選択します。
  3. Launch in a tool window のチェックをOFFにします。

仮想マシン(AVD)の起動

Device Managerで起動したいAVDの▶︎をクリックすると起動します。

AVDを作成する際にEnable Device FrameをOFFに設定したので、ウィンドウ表示になっています。 ウィンドウタイトルを見てみましょう。

Android Emulator - Pixel_6_Android_13_:5554 と表示されています。

入力したAVD名
Pixel 6(Android 13)
の空白と括弧が_に置換され、
Pixel_6_Android_13_
になっています。
emulatorコマンドなど、コマンドラインでAVDを指定する際はこの名前を使用することになります。

:5554の部分はTCPのポート番号5554がこのエミュレーターに割り当てられていることを意味します。 このエミュレーターのUDIDはネーミングルールによりemulator-5554となります。

ターミナルを開いて、adb devicesコマンドでデバイスのリストを確認すると以下のようになります。

言語設定

AVDを作成した直後は英語になっていますので、日本語に設定します。

  1. Settingsアイコンをタップして設定アプリを起動します。
  2. Systemをタップします。
  3. Language & inputをタップします。
  4. Languagesをタップします。
  5. Add a languageをタップします。
  6. 右上の虫眼鏡ボタンをタップし、jaと入力します。日本語をタップします。
  7. 日本語(日本)の右側のハンドルをドラッグして一番上まで移動します。日本語モードに切り替わります。

開発者モードの有効化

開発者モードを有効にします。

  1. 設定アプリのエミュレートされたデバイスについてをタップします。
  2. 一番下にスクロールして、ビルド番号を複数回クリックします。
  3. 「開発者向けオプションが有効になりました」と表示されます。
  4. ボタンをクリックし、システムをタップします。
  5. 開発者向けオプションが表示されることを確認します。

自動入力サービスの無効化

自動テストでテキストを入力するときに自動入力サービスが勝手に入力補完をするとテストが失敗することがあります。 テストを安定させるために、自動入力サービスは無効化します。

  1. 設定アプリのパスワードとアカウントをタップします。
  2. 自動入力サービスをタップします。
  3. なしをタップします。

プロキシの設定

テスト環境によってはAndroidエミュレーターにプロキシを設定する必要があります。

例えば10.0.2.2のポート番号8080を使用する場合は以下のように設定します。

まとめ

自動テストを実行する前に必要となるAndroidエミュレーターのセットアップ例を説明しました。

次回はこれらセットアップタスクの一部を自動化する方法を紹介します。