2017年9月6日

テクノロジー

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

h.arasawa

こんにちは、アイスリーデザインの荒澤です。
皆さん、テスト自動化は進んでいますか?
今回はアプリなどのテスト自動化のためのテストフレームワークの一種である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

    i3DESIGN(アイスリーデザイン)は渋谷とウクライナに拠点を構えるIT企業です。

    「デザイン思考」の手法を取り入れたクライアントワークと、Google対応の自社クラウドサービス「GOMOBILE」の提供を行っています。

    ビジネスの創出に必要な”右脳”であるUX/UI分野と”左脳”の開発分野が融合した組織で、サービスデザイン・UI制作・プロジェクト管理・設計・開発・品質管理・システム運用を一貫してご提供できることが、i3DESIGNの強みです。

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

    Haruka Arasawa

    h.arasawa

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

    おすすめの記事

    Recruit

    アイスリーデザインでは

    一緒に働くメンバーを募集しています

    採用情報はこちら矢印