2017年9月6日 テクノロジー

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

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

1.はじめに

近年、Webサイトだけにはとどまらず、
アプリなどでもUIやシナリオテストのテスト自動化が進んでいます。
 
テスト自動化ツールとしてSeleniumなどが有名ですが、
今回はAppiumを取り上げます。
 
Appiumはアプリのテストを自動化するためのツールになります。
既存のアプリのソースコードに手を加えることなく、テストを実行できたり、iOSとAndroidでテストスクリプトを分ける必要がありません。
 
今回は、備忘録も兼ねてAppiumの環境構築~Appiumのサンプルコード(iOS)実行と、自分が書いたテストスクリプト(iOS)の実行までの手順をご紹介します。
 

2.使用環境

ソフトウェア バージョン
OS 10.11.6(El Capitan)
XCode 8.1
Appium 1.6.6-beta

 

3.環境構築

  • node.jsをインストール
  •  

  • Appiumをインストール
  •  

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

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

     

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

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

    設定

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

     

    サンプルコードを取得

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

     

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

    Appiumを起動

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

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

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

    iOS Simulatorの情報を確認

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

    サンプルコードの実行

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

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

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

    今回、ストップウォッチのアプリを作成しましたので、
    このアプリをテストをするためにサンプルコードをもとに簡単にテストコードを書きます。
     
    ソースコードの書き方に関しては、
    今回使用しているMOCHAChaiのドキュメントを参考にしました。
    今回は簡単に、スタート→ストップ→再スタート→ストップ→リセットのテストスクリプトを作成しました。

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

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

     

    今回詰まった所

    今回Appiumを使う上で、環境設定にかなり時間を使ってしまいました。
    理由としては、iOS Simulatorの設定や.appファイルの設定で、どこにどのように書けば良いのか大変悩みました。
     
    アプリのテスト自動化はUIテストだけでなくシナリオテストでもできますので、今後取り入れていくことで、テストをより効率的に行うことができるのではと考えられます。
     
    今後、アプリのテストを行うのに手動でのテストだけでなく、できるところは自動化にしていけたらと思っています。
    よりよいアプリを作成するために、自動化ツールを活用していきましょう。
     
     
    ____________

    in-Pocket is presented by i3DESIGN

    アイスリーデザインは渋谷を本社、ウクライナを開発拠点に据えるIT企業です。

    以下のサービスを提供しています。

    • – デザイン思考を取り入れたUX/UIサービス
    • – 最新動向のMFI、AMP/PWAへ迅速に対応できるクラウドサービスの提供
    • – スマホ・ウェブアプリ開発/運用サービス

    ITサービスの道先案内人として、お客様のビジネスにおけるデジタルトランスフォーメーションを支援します。

    お問い合わせはこちらから

    Haruka Arasawa

    h.arasawa

    2016年にご縁がありi3DESIGNに入社。大学では史学科に所属し中世フランス史を研究していたバリバリの文系。ITの知識は無いものの、パソコンを触ることが好きでこの世界に飛び込む。実家で飼っている愛猫とゲームが大好き。

    この記事をシェアする