Appiumではじめる、アプリのテスト自動化

こんにちは、アイスリーデザインの荒澤です。

皆さん、テスト自動化は進んでいますか?今回はアプリなどのテスト自動化のためのテストフレームワークの一種であるAppiumについて説明したいと思います。

Appium公式サイト

1.はじめに

近年、Webサイトだけにはとどまらず、アプリなどでもUIやシナリオテストのテスト自動化が進んでいます。

テスト自動化ツールとしてSeleniumなどが有名ですが、今回はAppiumを取り上げます。

Appiumはアプリのテストを自動化するためのツールになります。既存のアプリのソースコードに手を加えることなく、テストを実行できたり、iOSとAndroidでテストスクリプトを分ける必要がありません。

今回は、備忘録も兼ねてAppiumの環境構築~Appiumのサンプルコード(iOS)実行と、自分が書いたテストスクリプト(iOS)の実行までの手順をご紹介します。

2.使用環境

ソフトウェアバージョン
OS10.11.6(El Capitan)
XCode8.1
Appium1.6.6-beta

3.環境構築

node.jsをインストール

$ brew install node

Appiumをインストール

$ npm install -g appium

Appium Client(WebDriver)をインストール

$ npm install wd

必要なモジュールをインストール

以下のモジュールは直接Appiumとは関係ありませんが、Appiumのサンプルコード内で使用しているためインストールしておきます。

$ npm install chai
$ npm install colors

診断ツールを実行

Appiumに必要なツール類が正しくインストールされているか確認します。

$ appium-doctor --ios

全てにチェックがついていれば完了です。

設定

AppiumからiOS Simulatorの使用を許可します。

$ sudo authorize-ios

サンプルコードを取得

GitHubからファイルを取得します。

$ git clone git@github.com:appium/sample-code.git

4.サンプルコードの実行

Appiumを起動

以下コマンドでAppiumを起動させます。

$ appium &

実行後、以下のメッセージが表示されたら、準備万端です。

[Appium] Welcome to Appium v1.6.6-beta (REV 9586390418dbcb8655bf7c62bb315c2a2090722e)
[Appium] Appium REST http interface listener started on 0.0.0.0:4723

終了するには以下コマンドを実行します。

$ killall -9 node

iOS Simulatorの情報を確認

Xcodeを開き、Window > Deviceを選択し、起動するSimulatorを設定します。cap.jsでiOS Simulatorの情報を記述します。

サンプルコードの実行

カレントディレクトリをサンプルコードがあるフォルダまで移動します。その後、以下コマンドにてテストを実行します。今回は、ios-simple.jsを動かしてみます。

$ npm run ios-simple

iOS Simulatorが起動するのに時間がかかってしまいますが、起動後は自動でテストが行われます。

5.自分でテストコードを作成する

今回、ストップウォッチのアプリを作成しましたので、このアプリをテストをするためにサンプルコードをもとに簡単にテストコードを書きます。

ソースコードの書き方に関しては、今回使用しているMOCHAChaiのドキュメントを参考にしました。今回は簡単に、スタート→ストップ→再スタート→ストップ→リセットのテストスクリプトを作成しました。

app.jsにテストするアプリの.appファイルの絶対パスを記述します。ソースコードが書けたら、package.jsonにファイル名を追加します。

そうしたら、実際にテストを実行してみます。

今回詰まった所

今回Appiumを使う上で、環境設定にかなり時間を使ってしまいました。理由としては、iOS Simulatorの設定や.appファイルの設定で、どこにどのように書けば良いのか大変悩みました。

アプリのテスト自動化はUIテストだけでなくシナリオテストでもできますので、今後取り入れていくことで、テストをより効率的に行うことができるのではと考えられます。

今後、アプリのテストを行うのに手動でのテストだけでなく、できるところは自動化にしていけたらと思っています。よりよいアプリを作成するために、自動化ツールを活用していきましょう。

  • Contact

    お問い合わせ

    アプリやシステム開発、UIUX改善など、お客さまのビジネスを成功に導いたサポート実績が多数ございます。お気軽にお問い合わせください。

  • Download

    資料ダウンロード

    私たちのノウハウや業界別の事例など、提供するサービスについて詳細にまとめた資料になります。ぜひご一読ください。

  • Mail magazine

    メールマガジン

    UI/UXデザイン・システム内製化・DX推進についてのお役立ちメソッドや、限定イベントや最新事例などをお届けします。