APPIUMチュートリアル Android & iOS モバイル アプリのテスト
何ですか Appium?
APPIUMは無料で配布されるオープンソースのモバイルアプリケーションUIです テスト フレームワーク。 Appium ネイティブ、ハイブリッド、Web アプリケーションのテストが可能で、物理デバイスとエミュレータまたはシミュレータの両方での自動テストをサポートします。クロスプラットフォームのアプリケーション テストを提供します。つまり、単一の API が両方のプラットフォームで機能します。 Android iOS プラットフォームのテスト スクリプト。
それはある NO モバイルデバイスのOSに依存します。APPIUMには、モバイルデバイスOSを変換するフレームワークまたはラッパーがあるため、 Selenium Webdriver コマンドを UIAutomation (iOS) または UIAutomator (Android) コマンドは、OS の種類ではなく、デバイスの種類に応じて異なります。
Appium あるすべての言語をサポートします。 Selenium クライアントライブラリの例: Java、Objective-C、 Javaスクリプト node.js、PHP、Ruby、 Python, C#、 等々
APPIUMはどのように機能しますか?
- Appium を使用して記述された「HTTP サーバー」です。 Node.js プラットフォームとドライブ iOS と Android Webdriver JSON ワイヤー プロトコルを使用したセッション。したがって、初期化する前に、 Appium サーバー、Node.js がシステムにプリインストールされている必要があります。
- 日時 Appium をダウンロードしてインストールすると、REST API を公開するサーバーがマシン上にセットアップされます。
- クライアントから接続とコマンド要求を受け取り、そのコマンドをモバイル デバイス上で実行します (Android /iOS)。
- HTTP 応答で応答します。 このリクエストも実行するために、モバイル テスト自動化フレームワークを使用してアプリのユーザー インターフェイスを駆動します。 次のようなフレームワーク:-
- iOS 用 Apple Instruments (インストゥルメントは、 Xcode 3.0 以降(OS X v10.5 以降)
- Google UIAutomator 用 Android APIレベル16以上
- Selendroid for Android APIレベル15以下
APPIUMを使用するための前提条件
- ANDROID SDK (Studio) をインストールする[リンク]-
- JDKをインストールします(Java 開発キット) [リンク]
- インストールを開始する Eclipse [リンク]
- TestNgをインストールする Eclipse [リンク]
- インストールを開始する Selenium サーバーJAR [リンク]
- Appium クライアントライブラリ[リンク]
- Google Play の APK アプリ情報 [リンク]
- js (必須ではありません - いつでも) Appium サーバーがインストールされると、デフォルトで「Node.exe」と NPM が付属します。現在のバージョンに含まれています Appium.)
- インストールを開始する Appium デスクトップ
インストールを開始する Appium デスクトップ
Appium Studio は、インストールするオープンソースの GUI アプリです Appium サーバ。インストールして使用するためのすべての前提条件がバンドルされています。 Appium サーバ。アプリに関する基本情報を取得するためのインスペクターもあります。モバイル アプリを自動化する定型コードを作成するレコーダーが付属しています。
ステップ1) に行く http://appium.io/ そして「ダウンロード」をクリックします Appium.
ステップ2) Windows、exeファイルを選択してダウンロードします。ファイルは約 162MB なので、インターネットの速度によってはダウンロードに時間がかかります。
ステップ3) ダウンロードしたexeをクリックします。
ステップ4) 上の Windows マシン、インストールする必要はありません Appiumexe から直接実行されます。exe をクリックすると、次の画像が数分間表示されます。
Macの場合は、dmgをインストールする必要があります。
ステップ5) 次に、サーバー開始ウィンドウが表示されます。デフォルトのホストとポートのオプションが設定されますが、これは変更できます。のバージョンについても言及しています Appium 使用されています。
ステップ6) [サーバーの開始] ボタンをクリックすると、指定したホストとポートで新しいサーバーが起動されます。 サーバーログ出力が表示されます。
ステップ7) [新しいセッション ウィンドウ] をクリックします。.
ステップ8) 必要な機能を入力してセッションを開始できます。
APPIUM 検査官
そして Selenium IDE 記録および再生ツール、 Appium 記録と再生のための「インスペクター」があります。 DOM を検査することでネイティブ アプリケーションの動作を記録および再生し、任意の言語でテスト スクリプトを生成します。ただし、現時点ではサポートされていません。 Appium 検査官 Microsoft Windows。 に Windowsを起動すると、 Appium サーバーは動作しますが、要素の検査に失敗します。ただし、UIAutomator ビューアは要素を検査するためのオプションとして使用できます。
始める手順 Appium Mac マシン上のインスペクター:-
ステップ1) ダウンロードして開始してください Appium デフォルトの IP アドレス 0.0.0.0 とポート 4725 を持つサーバー。
- ローカルからテストするソース ファイルまたは .app ファイルを選択します。
- 「選択」ボタンを有効にするには、「アプリパス」チェックボックスをオンにします。
ステップ2)ここで、「選択」ボタンをクリックすると、ローカル ドライブからテスト ファイルを参照して選択するオプションが表示されます。
ステップ3) Mac マシンでシミュレータを起動します。
ステップ4) 右上隅にある「起動」ボタンをクリックすると、青色のアイコンが有効になります。もう一度、この青色のアイコンをクリックすると、 Appium 事前に選択されたアプリケーションを備えたインスペクターとシミュレーター。
ステップ5)– の起動 Appium インスペクターは、要素の階層を列構造で表示します。また、ユーザーはタップやスワイプなどのボタンを使用してアクションを適用できます。
ステップ6) 録音を停止するには、「停止」ボタンをクリックします。
添付する Android エミュレータへ Appium
ステップ1) インストールを開始する Android システム内の SDK。
[コントロール パネル] >> [システムとセキュリティ] >> [システム]に移動し、左側のパネルから [システムの詳細設定] をクリックします。 「システムのプロパティ」ポップアップから「詳細」タブをクリックし、「環境変数」ボタンをクリックします。
ステップ2) 次に、「環境変数」ポップアップから「パス」をダブルクリックし、SDK ディレクトリを指す ANDROID_HOME 変数を設定します。パスに SDK フォルダーのパス全体を追加します。
例 –
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
ステップ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 )
ステップ6)– 「adb start-server」コマンドを実行します。によって使用される ADB サーバーが起動します。 Appium コマンドを送信するには Android デバイス。
ステップ7) さあ、 Appium システム内のディレクトリを指定して起動します Appium をクリックして Appium.exeファイル。
ステップ8) IPアドレスやポート番号は変更せずに「起動」ボタンをクリックしてください。あなたの Appium コンソールは、以下に示すように 127.0.0.1:4723 で開始します。
ステップ9) 「開始」ボタンをクリックし、 Appium サーバーがシステム上で実行を開始しました。
ネイティブ向けAPPIUMテストケース Android アプリ(電卓)
ステップ1)) ADT Eclipseプラグインをダウンロードするか、ADTバンドルを別途ダウンロードしてください こちら
ステップ2) Open Eclipse 新しいプロジェクトを作成 >> パッケージ >> クラスを作成します
ステップ3) インポート Selenium ライブラリと テスト その新しいプロジェクトの中に。
ステップ4) ここで、2 つの数値を合計する '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(); } }
Appium サーバーと Android 「AVD Manager」からエミュレータを選択し、「実行 >>」をクリックします。 TestNG上記のプログラムは、選択したエミュレータ上で「Calculator.app」を実行し、その結果を以下に示す。 Eclipse を使用したコンソール TestNG フレームワーク。
APPIUM の使用上の制限
- Appium のテストはサポートされていません Android 4.2 より前のバージョン
- ハイブリッド アプリ テストのサポートは限定的です。 例: Web アプリからネイティブへ、またはその逆のアプリケーションの切り替えアクションをテストすることはできません。
- 実行するためのサポートはありません Appium インスペクターオン Microsoft Windows.
よく発生するエラーとトラブルシューティングの手順 Appium
エラー | トラブルシューティングの手順 |
---|---|
エラー:- 次の必要な機能が必要ですが、提供されていません: デバイス名、プラットフォーム名 | APPIUM スクリプトに、必要な機能 (デバイス名、プラットフォーム名) を追加します。例:capabilities.setCapability (“deviceName”,”Emulator”); capabilities.setCapability (“platformName”,”Android"); |
エラー: adbが見つかりませんでした。ANDROID_HOME環境変数を設定してください。 Android SDKのルートディレクトリのパス。 | おそらく、システムの「環境変数」の「パス」列で SDK ルート ディレクトリ パスを設定する必要があります。 |
エラー:org.openqa.selenium.SessionNotCreatedException: 新しいセッションを作成できませんでした。 | 正しいアプリのパスを設定し、再起動する必要があります。 Appium サーバー。 |
DOM要素を見つける方法または XPath モバイルアプリケーションで? | 「UIAutomatorviewer」を使用して DOM 要素を検索します Android アプリケーション。 |