LoginSignup
2
4

More than 5 years have passed since last update.

スマホアプリのテストを自動化する

Last updated at Posted at 2017-09-15

前回はWebアプリケーションのスマホテストを自動化しましたが、今回はDeviceFarmを用いて、スマホアプリのテストを自動化します。
CIツールは、Pluginが存在するJenkinsを用います。

必要なもの

  • AWS アカウント
  • AWS IAM User(DeviceFarmFullAccess権限を付与したユーザ)
  • DeviceFarm Project(テスト対象プロジェクト)
  • DeviceFarm DevicePool(テスト対象端末のプール)

Jenkins + DeviceFarmPluginのセットアップ

Jenkinsとdevice-farm-pluginのセットアップはリンクを参考に設定します。
実施することは以下になります。

  • yumでJenkinsをEC2にインストール
  • DeviceFarm Pluginをインストール
  • DeviceFarm AccessKey/SecretKey設定

テストプロジェクト構成

以下を参考にテストプロジェクトを作成します。
参考レポジトリ はAppium+JUnitをgradleでbuildしています。
また、テスト対象のiOSアプリケーションファイルのビルドは省略しています。

DeviceFarmテスト設定

DeviceFarmのテスト設定で、以下を設定します。

  • DeviceFarm Project
  • DeviceFarm Device Pool(テスト対象端末のプール)
  • アプリケーションファイル(※例はiOSアプリの.ipa)
  • テスト対象ファイル(zip-with-dependencies.zip)

スクリーンショット 2017-09-15 時刻 19.29.59.png

※zip-with-dependencies.zipのフォルダ構成は以下を参照

zip-with-dependencies.zip
task installZip(dependsOn: ["clean", "packageTests", "installDist"]) << {
    new File("build/work").mkdir()
    new File('build/zip.sh') << 'cd build/work; zip -r zip-with-dependencies.zip .'
    copy{
        from "build/install/test/lib/"
        into "build/work/dependency-jars/"
    }
    copy{
        from "build/libs/test-1.0-SNAPSHOT-tests.jar"
        into "build/work/"
    }
    "chmod 755 build/zip.sh".execute().waitFor()
    "build/zip.sh".execute().waitFor()
    copy{
        from "build/work/zip-with-dependencies.zip"
        into "build/"
    }
}

テスト実行

Jenkinsでテスト実行後、アプリケーションファイル、DeviceFarmマネジメントコンソールのレポートへのリンク等がJenkinsのテスト結果画面に表示されます。

スクリーンショット 2017-09-15 時刻 19.38.45.png

その他(開発中のテストについて)

DeviceFarmのインターネットゲートウェイのアドレス範囲は54.244.50.32~54.244.50.63.(※2017/9/15時点)のため、開発中のAPIサーバに左記アドレス範囲をファイアーウォール許可設定することで、開発中のアプリ→API連携も可能になります。

2
4
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
2
4