Android および iOS モバイル アプリのテストのための APPIUM チュートリアル

Appiumとは何ですか?

APPIUM は、無料で配布されるオープンソースのモバイル アプリケーション UI です テスト フレームワーク。 Appium では、ネイティブ、ハイブリッド、Web アプリケーションのテストが可能で、物理デバイスとエミュレータまたはシミュレータの両方での自動テストをサポートしています。クロスプラットフォームのアプリケーション テストを提供します。つまり、単一の API が Android と iOS の両方のプラットフォーム テスト スクリプトで機能します。

それはある NO モバイルデバイスのOSに依存します。 APPIUMには翻訳するフレームワークまたはラッパーがあるため、 Selenium Webdriver コマンドを、OS タイプではなくデバイス タイプに応じて UIAutomation (iOS) または UIAutomator (Android) コマンドに変換します。

Appium は、Java、Objective-C などの Selenium クライアント ライブラリを備えたすべての言語をサポートしています。 JavaScriptを node.js、PHP、Ruby、Python、 C#、 等々

APPIUMはどのように機能しますか?

  • Appium は、以下を使用して作成された「HTTP サーバー」です。 Node.js Webdriver JSON ワイヤ プロトコルを使用して iOS および Android セッションを実行します。 したがって、Appium サーバーを初期化する前に、Node.js をシステムにプレインストールする必要があります。
  • Appiumをダウンロードしてインストールすると、RESTAPIを公開するサーバーがマシンにセットアップされます。
  • クライアントから接続とコマンド要求を受信し、モバイルデバイス(Android / iOS)でそのコマンドを実行します。
  • HTTP 応答で応答します。 このリクエストも実行するために、モバイル テスト自動化フレームワークを使用してアプリのユーザー インターフェイスを駆動します。 次のようなフレームワーク:-
    • iOS 用 Apple Instruments (インストゥルメントは、 Xcode 3.0または later OS X v10.5 および later)
    • Google UIAutomator for Android API レベル 16 以降
    • Android用Selendroid APIレベル15以下

APPIUMを使用するための前提条件

  1. ANDROID SDK のインストール (スタジオ)[リンク]-
  2. JDK (Java 開発キット) のインストール [リンク]
  3. インストールを開始する Eclipse [リンク]
  4. TestNg をインストールする Eclipse [リンク]
  5. Selenium サーバー JAR のインストール [リンク]
  6. Appium クライアント ライブラリ[リンク]
  7. Google Play の APK アプリ情報 [リンク]
  8. js (必須ではありません – Appium サーバーがインストールされると、デフォルトで「Node.exe」と NPM が付属します。これは Appium の現在のバージョンに含まれています。)
  9. Appium デスクトップをインストールする

Appium デスクトップをインストールする

Appium Studio は、Appium Server をインストールするためのオープンソース GUI アプリです。 これには、Appium Server をインストールして使用するためのすべての前提条件がバンドルされています。 アプリに関する基本情報を取得するためのインスペクターもあります。 モバイル アプリを自動化する定型コードを作成するレコーダーが付属しています。

ステップ1)   http://appium.io/ 「Appium をダウンロード」をクリックします。

Appium デスクトップをインストールする

ステップ2) Windows、exeファイルを選択してダウンロードします。ファイルは約 162MB なので、インターネットの速度によってはダウンロードに時間がかかります。

Appium デスクトップをインストールする

ステップ3) ダウンロードしたexeをクリックします。

Appium デスクトップをインストールする

ステップ4) 上の Windows マシンの場合、Appium をインストールする必要はありません。 exeから直接実行します。 exeをクリックすると、次の内容が表示されますwing 数分間の画像。

Appium デスクトップをインストールする

Macの場合は、dmgをインストールする必要があります。

ステップ5) 次に、サーバー開始ウィンドウが表示されます。 デフォルトのホストとポートのオプションが設定されますが、これは変更できます。 使用されている Appium のバージョンについても説明します。

Appium デスクトップをインストールする

ステップ6) [サーバーの開始] ボタンをクリックすると、指定したホストとポートで新しいサーバーが起動されます。 サーバーログ出力が表示されます。

Appium デスクトップをインストールする

ステップ7) [新しいセッション ウィンドウ] をクリックします。.

Appium デスクトップをインストールする

ステップ8) 必要な機能を入力してセッションを開始できます。

Appium デスクトップをインストールする

APPIUM検査官

Selenium IDE の記録および再生ツールと同様に、Appium には記録および再生のための「インスペクター」があります。 DOM を検査することでネイティブ アプリケーションの動作を記録および再生し、任意の言語でテスト スクリプトを生成します。ただし、現在、Appium Inspector はサポートされていません。 Microsoft Windows。 に Windowsの場合、Appium サーバーは起動しますが、要素の検査に失敗します。ただし、UIAutomator ビューアは要素を検査するためのオプションとして使用できます。

Mac マシンで Appium Inspector を開始する手順:-

ステップ1) Appium サーバーをダウンロードし、デフォルトの IP アドレス 0.0.0.0 とポート 4725 を使用して起動します。

  1. ローカルからテストするソース ファイルまたは .app ファイルを選択します。
  2. 「アプリパス」にチェックを入れるbox 「選択」ボタンを有効にします。

ステップ2)ここで、「選択」ボタンをクリックすると、ローカル ドライブからテスト ファイルを参照して選択するオプションが表示されます。

APPIUM検査官

ステップ3) Mac マシンでシミュレータを起動します。

ステップ4) 右上隅にある「起動」ボタンをクリックすると、青色のアイコンが有効になります。 もう一度、この青色のアイコンをクリックすると、Appium インスペクタと、事前に選択されたアプリケーションを含むシミュレータが開きます。

APPIUM検査官

ステップ5)– Appium Inspector を起動すると、要素の階層が列に表示されます。wise 構造。また、ユーザーはタップ、スワイプなどのボタンを使用してアクションを適用できます。

APPIUM検査官

ステップ6) 録音を停止するには、「停止」ボタンをクリックします。

Appium に Android エミュレータを接続する

ステップ1) システムに Android SDK をインストールします。

[コントロール パネル] >> [システムとセキュリティ] >> [システム]に移動し、左側のパネルから [システムの詳細設定] をクリックします。 「システムのプロパティ」ポップアップから「詳細」タブをクリックし、「環境変数」ボタンをクリックします。

Appium に Android エミュレータを接続する

ステップ2) ここで、「環境変数」ポップアップから、「double 「パス」をクリックし、SDK ディレクトリを指す ANDROID_HOME 変数を設定します。パスに SDK フォルダーのパス全体を追加します。

例 –

C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk

Appium に Android エミュレータを接続する

ステップ3) Android エミュレータを起動するか、Android デバイスをシステムに接続します (Android デバイスで Android デバッグ オプションが有効になっていることを確認してください。デバッグ オプションを確認するには、デバイス設定 >> 開発者向けオプション >> 「デバッグ オプション」にチェックを入れます)。

ステップ4) コマンド プロンプトを開き、Android SDK の \platform-tools\ ディレクトリ (例: D:\adt-bundle-) に移動します。windows-x86_64-20130514\sdk\platform-tools)。

ステップ5)– 「adb devices」コマンドを実行します。 接続されているデバイスがコマンド プロンプト ウィンドウに一覧表示されます。 (CMD では、「>adb devices」と書き込みます。このコマンドは、接続されているエミュレータ インスタンスをリストします。例: adb –sエミュレータ-5554 install )

Appium に Android エミュレータを接続する

ステップ6)– 「adb start-server」コマンドを実行します。 Appium が Android デバイスにコマンドを送信するために使用する ADB サーバーが起動します。

ステップ7) 次に、システムの Appium ディレクトリに移動し、Appium.exe ファイルをクリックして Appium を起動します。

ステップ8) IPアドレスやポート番号は変更せずに「起動」ボタンをクリックしてください。 Appium コンソールは、以下に示すように 127.0.0.1:4723 で開始します。

Appium に Android エミュレータを接続する

ステップ9) 「開始」ボタンをクリックすると、Appium サーバーがシステム上で実行を開始します。

ネイティブ Android アプリの APPIUM テスト ケース (電卓)

ステップ1)) ADT をダウンロード eclipse プラグインまたはバンドルされた ADT を別途ダウンロード こちらをクリックすると、ツールが開きます。

ステップ2) Open Eclipse 新しいプロジェクトを作成 >> パッケージ >> クラスを作成します

ステップ3) Seleniumライブラリをインポートし、 テスト その新しいプロジェクトの中に。

ステップ4) 次に、XNUMX つの数値を合計する「Calculator.app」の小さなテスト プログラムを作成します。

package src_Appium;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
//import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.*;


public class Calculator {
WebDriver driver;

@BeforeClass
public void setUp() throws MalformedURLException{
	//Set up desired capabilities and pass the Android app-activity and app-package to Appium
	DesiredCapabilities capabilities = new DesiredCapabilities();
	capabilities.setCapability("BROWSER_NAME", "Android");
	capabilities.setCapability("VERSION", "4.4.2"); 
	capabilities.setCapability("deviceName","Emulator");
	capabilities.setCapability("platformName","Android");
 
   
   capabilities.setCapability("appPackage", "com.android.calculator2");
// This package name of your app (you can get it from apk info app)
	capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app)
//Create RemoteWebDriver instance and connect to the Appium server
 //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities
   driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}

@Test
public void testCal() throws Exception {
   //locate the Text on the calculator by using By.name()
   WebElement two=driver.findElement(By.name("2"));
   two.click();
   WebElement plus=driver.findElement(By.name("+"));
   plus.click();
   WebElement four=driver.findElement(By.name("4"));
   four.click();
   WebElement equalTo=driver.findElement(By.name("="));
   equalTo.click();
   //locate the edit box of the calculator by using By.tagName()
   WebElement results=driver.findElement(By.tagName("EditText"));
	//Check the calculated value on the edit box
assert results.getText().equals("6"):"Actual value is : "+results.getText()+" did not match with expected value: 6";

}

@AfterClass
public void teardown(){
	//close the app
	driver.quit();
}
}

「AVD Manager」からAppiumサーバーとAndroidエミュレータを選択し、「実行」>>「TestNG」をクリックします。上記のプログラムは、選択したエミュレータ上で「Calculator.app」を実行し、結果が下に表示されます。 Eclipse TestNG フレームワークを使用したコンソール。

APPIUM を使用する場合の制限事項

  1. Appium は Android バージョン 4.2 より前のテストをサポートしていません
  2. ハイブリッド アプリ テストのサポートは限定的です。 例: Web アプリからネイティブへ、またはその逆のアプリケーションの切り替えアクションをテストすることはできません。
  3. Appium Inspector の実行はサポートされていません Microsoft Windows.

Appium でよく発生するエラーとトラブルシューティングの手順

エラー トラブルシューティングの手順
エラー:- 以下はwing 必要な機能が必要ですが、提供されていません: デバイス名、プラットフォーム名 必要な機能を追加します: APPIUM スクリプトにデバイス名、プラットフォーム名。例:capabilities.setCapability (“deviceName”,“Emulator”);機能.setCapability (“プラットフォーム名”,“Android”);
エラー: adb が見つかりませんでした。 ANDROID_HOME 環境変数に Android SDK のルート ディレクトリ パスを設定してください。 おそらく、システムの「環境変数」の「パス」列で SDK ルート ディレクトリ パスを設定する必要があります。
エラー:org.openqa.selenium.SessionNotCreatedException: 新しいセッションを作成できませんでした。 正しいアプリのパスを設定し、Appium サーバーを再起動する必要があります。
DOM要素を見つける方法または XPath モバイルアプリケーションで? Android アプリケーションの DOM 要素を見つけるには、「UIAutomatorviewer」を使用します。