ハイブリッドアプリで自動テストを行うフレームワーク/サービス14選
PhoneGap/Cordovaによって、Webアプリケーションをラッピングしてスマートフォンアプリとして開発するケースが増えてきました。HTML5の利用拡大として注目した動きだと思います。
そんな中、必要になっているのがテストフレームワークの存在です。特にスマートフォン、タブレットに対応した実機テストフレームワークが必要になっています。今回はそんなテストフレームワークをまとめて紹介します。
Appium

ネイティブ・ハイブリッド両方に対応したテスト自動化フレームワークになります。JSON Wire Protocolを使ってiOS/Androidアプリを操作する仕組みになっています。テストコードはPython/node.js/Java/Ruby/Objective-C/PHP/.NET/Perlなど様々な言語が利用できます。
Appium: モバイルアプリのテスト自動化はすごいことになった
Mobile Testing

iOS/Android/Windows Phoneに対応しています。JavaScriptでテストコードを作成します。実機テストが可能で、JailBreakは不要です。
Selendroid

AndroidをサポートしたSeleniumを使ったテストフレームワークになります。こちらもJSON Wire Protocolを使っています。テストの際には専用のアプリ内にHybridアプリを配置して実行します。ジェスチャーもサポートしているとのことです。
Selendroid: Selenium for Android
eggPlant

eggPlantは自動テストの商用製品で、iOS/Android/Windows Phone/BlackBerryなどに対応しています。フルデバイスコントロールが特徴になります。
eggPlant: Automated Testing for Improving Productivity & Quality
Remote TestKit

NTTレゾナントが提供している有償のスマートフォン実機リモートレンタルサービスで、Selenium WebDriver, NativeDriverと連携してテストを実行することができます。「実機での動作」を確認できる、のがポイントですね。
Amazon WebView SDK

Amazon製のモバイルテストSDKで、Fire OSをはじめとしてAndroid用となっています。
Building and Testing Your Hybrid App
MonkeyTalk

iOS/Androidに対応したテストツールです。エミュレータ、実機の両方に対応しています。テストシナリオを記述するためのIDEを備えています。一部の機能は有償向けになります。
MonkeyTalk | Mobile App Testing Tool
Testing your app – Ionic Framework
ハイブリッドアプリフレームワークのIonicでは独自のテスト機構を備えています。Cordovaをベースに実機でもテストができるようになっています。
Testing your app – Ionic Framework
Calaba.sh

Xamarinのバックアップをうけて開発されているテスト自動化フレームワークになります。ジェスチャー、アサート、スクリーンショットを撮る機能があります。Seleniumよりもモバイルに特化した機能を提供しているとのことです。
Calaba.sh – Automated Acceptance Testing for iOS and Android Apps
Xamarin Test Cloud

クラウドベースで数百のデバイスを使ったテストが行えます。C#またはRubyを使ってテストが記述できるようになっています。
Mobile App Testing On Hundreds Of Devices – Xamarin Test Cloud
medic

Cordovaアプリに対してCI(継続的インテグレーション)を追加します。iOS/Android/BlackBerryに対応していて、JavaScriptでテストを記述します。
PhoneGap Developer App

PhoneGapの専用アプリをインストールすることでローカルのコードを再コンパイルすることなく実機で確認ができるようになります。iOS/Android/Windows Phoneに対応しています。
grunt-cordova-jasmine

Cordovaのプラグインで、Jasmineの自動テストをエミュレータ、実機で実行できるようになります。
ios-driver documentation

Selenium/WebDriver APIを使って動作します。eBayが開発に協力しているのが特徴的です。iOSのエミュレータ、実機の両方で利用できます。
いかがでしたか。HTML5製とは言え、スマートフォンアプリになるとWeb技術によるテストがそのままでは使えません。特にスマートフォンは環境が閉じられており、アプリのUI周りを含めたテストはそう簡単ではありません。今回紹介したようなソフトウェアを使い、効率的にエミュレータ、実機テストを行ってください。
コメントは受け付けていません。