モバイルテスト-Appiumフレームワーク
Appiumは、ネイティブアプリとハイブリッドアプリ、およびモバイルWebアプリをテストするためのオープンソースのテスト自動化フレームワークです。WebDriverプロトコルを使用してiOSおよびAndroidアプリを駆動します。
Appiumの利点
それは無料で(ほとんど)オープンソースです。
それは非常によくサポートされ、アクティブなGoogleグループを持っています。
これはSelenium3仕様に含まれているため、将来の証拠となるはずです。
AndroidとiOSの両方をサポートしています。
デバイスに何もインストールする必要はありません。サーバーやコードを変更する必要はありません。
Appiumの欠点
- インテリジェント待機はサポートされていません。
- iOSでは、Macごとに一度に実行できるテストは1つだけです。
- ジェスチャーの限定サポート。
- Android <4.1の限定サポート
Appiumの使用方法
Step 1− Appiumを使用するための前提条件は、Java SDK(最小1.6)です。システムにJavaがインストールされていない場合は、以下の手順に従ってください。
OracleJavaSEからJDKとJREをダウンロードします
使用許諾契約に同意します。
JDKとJREをインストールします。
以下のスクリーンショットに示すように、環境変数を設定します。

Step 2−SDKからAndroidStudioをダウンロードします(ファイルのサイズが原因で時間がかかります)。
- exeをダブルクリックして、インストーラーを実行します。
- すべてのデフォルトオプションを続行します。
- ANDROID_HOMEを設定します。
Step 3 −Androidの画像とツールをインストールします。
- SDKManagerをクリックします-

必要なパッケージを選択してください。たとえば、Android 4.4.2用のアプリを作成している場合は、[ツール]セクションで次のパッケージがオンになっていることを確認してください-
- AndroidSDKツールrev22.6.3
- Androidプラットフォーム-ツールrev19.0.1
- AndroidSDKビルドツールrev19.1
Step 4 − Android仮想デバイスを作成する−
Android Studioを開き、ツールバーの[AVDマネージャー]をクリックします。AVDを使用すると、Androidアプリをテストして実行できます。

Nexus5AVDには次の設定を使用します-
デバイス:Nexus 5(4.95、1080 x 1920; xxhdpi)
ターゲット:Google API x86(Google Inc。)-APIレベル19
名前にGoogleAPIが含まれているターゲットを選択してください。
CPU:Intel Atom(x86)
[ホストGPUを使用する]チェックボックスをオンにします
[OK]をクリックします。
これで、AVD Managerで作成したAVDが表示されます。ここで、AVDを開始、削除、または別のAVDを作成できます。
Step 5−AppiumからAppiumjarファイルをダウンロードします
Appiumでアプリをテストする
Appiumでアプリをテストするには、以下の手順に従います-
Step 1 −「RobotiumTest」という名前のテストプロジェクトをAndroidStudioで作成します。

メインページに到達するまで、すべてのデフォルトオプションを選択します。
Step 2− Appiumjarをプロジェクトに追加します。プロジェクト→アプリ→ライブラリ内のすべてのjarファイルをコピーします。Selenium、Javaクライアント、Junit Jarを除くコピーされたjarを選択し、右クリックして[ライブラリとして追加]をクリックします。
Step 3−アプリでbuild.gradleをクリックします。次のスクリーンショットに示すように、追加されたすべてのライブラリが表示されます。

Step 4 −次に、以下に示すようにJavaクラスを作成します−
AppiumDriver driver;
@Before
public void testCaseSetup()throws Exception {
//service.start();
//reader.readFile();
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device");
cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000");
cap.setCapability(MobileCapabilityType.APP, "c://apk//sample.apk");
driver = new AndroidDriver<MobileElement>("http://127.0.0.1:4444/wd/hub",cap);
}
@Test
public void testcase1()throws Exception {
driver.findElementByID("Example").click();
Asser.assertTrue(driver.findElementByID("Example").isDisplayed));
}
@After
public void testCaseTearDown() {
driver.quit();
}
Step 5 −テストケースの実行。
- ビルドバリアントをクリックし、単体テストを選択します。
- 特定のポート「4444」でAppiumサーバーを起動します。
- ここからWindows用のAppiumをダウンロードします。
- .exeをダブルクリックして、Appiumをインストールします。
- アイコンをクリックしてUIを表示します。
- 以下に示すように、必要に応じてポートを変更します。
- [再生]ボタンをクリックして、サーバーを起動します。

- USBデバッグがオンになっているデバイスを接続するか、エミュレーターを起動します。
- テストクラスを右クリックし、[実行]をクリックします。