21アプリテスト自動化への旅【AppiumとJestで簡単に試してみよう!】AndroidtestiOSappiumJest皆さんはアプリのテスト自動化をしたことがありますか?おそらく手元で手動テストをし、Excelか何かにまとめられたテスト仕様書にチェックを入れている人もいるのではないでしょうか。自動化しようとしても、どこまで自動化ができるのだろうか。こんな表現をテストで実装は出来ないよね?だとか、時間かかりそうだし、今はそういうフェーズじゃない。...そう思っている人は結構いるのではないかと私は思っています。そんな人たちに、意外とアプリのテスト自動化はイケるぞ!ってのを伝えるために、本記事にて、AppiumとJestを組み合わせた自動テストを紹介します。今回の記事では、以下が出来ることをゴールにしていきたいと思います。ハイブリッド、およびモバイルWebアプリで利用可能なオープンソーステスト自動化フレームワークです。WebDriverプロトコルを使用してiOS、Android、およびWindowsアプリで動きます。要するにアプリのテストを自動化できます。使う前は、どこまで自動化できるのだろうか?と疑問でしたが、かなり自動化できる印象です。様々な言語に対応しているので、とても使いやすいです。GUIのデバッグツールなども用意されているので、とても開発者に優しい、素晴らしいプロダクトだと思います。TypeScriptで記述していきます。ライブラリはwdを使って書かれたサンプルが多いですが、今回はwebdriverioでやっていきます。Nativeでサンプルアプリを作成します。今回使用するバージョンは以下の通りになります。1.16.0-beta.3Appiumは執筆当時、iOS10系周りでバグが出ていたため、betaを使用しています。Simulatorの準備をまずしましょう。Xcodeを開いて、使用したいOSバージョンのシミュレーターをまずはインストールします。インストールした後、Simulatorの一覧に存在する端末であれば、その端末を利用してテストが実行されます。存在しない端末だと毎回新しいSimulatorが作られてしまうので、テストが落ちる原因になるので少し注意が必要です。13.2という感じです。Emulatorの準備AndroidのEmulatorも以下の手順に従って準備していきます。6系以下のEmulatorはChromeではないため(実機はChrome)、WebViewを使用しているアプリでは、そもそもテスト自動化の検証端末に使用しない方がいいです。実機を利用しましょう。エラーが出た部分を直していきます。Macユーザーの方は以下の項目でエラーが出る確率が高いと思います。