Appium 初心者向けチュートリアル
⚡ スマートサマリー
Appium チュートリアル Android iOSモバイルアプリテストでは、両プラットフォームのネイティブアプリ、ハイブリッドアプリ、Webアプリを単一のツールで駆動するオープンソースのUI自動化フレームワークが導入されています。 Selenium-互換性のあるAPI。このガイドでは、その方法を説明します。 Appium 動作、インストール手順、インスペクター、エミュレーターのアタッチメント、および Java 電卓のテストケース。

何ですか Appium?
Appium は、自由に配布されるオープンソースのモバイルアプリケーションUIです。 テスト フレームワーク。 Appium ネイティブ、ハイブリッド、Webアプリケーションのテストを可能にし、実機だけでなくエミュレータやシミュレータ上での自動化もサポートします。クロスプラットフォームアプリケーションテストを提供し、単一のAPIで両方のプラットフォームに対応します。 Android およびiOSテストスクリプト。
Appium 持っています いいえ モバイルデバイスのOSに依存します。フレームワークは、 Selenium WebDriver コマンドを UIAutomation (iOS) または UIAutomator (Androidデバイスの種類に応じてコマンドが切り替わり、基盤となるオペレーティングシステムのバージョンには依存しません。
Appium すべての言語をサポートしています Selenium クライアントライブラリ — Java、Objective-C、 Javaスクリプト Node.js、PHP、Ruby、 Python, C#、 もっと。
どのように Appium 作業?
- Appium HTTPサーバーは、 Node.js iOS を推進するプラットフォームと Android WebDriver JSONワイヤプロトコルを使用したセッション。開始する前に、システムにNode.jsが事前にインストールされている必要があります。 Appium サーバー。
- Appium ダウンロードしてインストールすると、ローカルマシン上にREST APIを公開するサーバーがセットアップされます。
- サーバーはクライアントからの接続要求とコマンド要求を受け付け、モバイルデバイス上でコマンドを実行します(Android またはiOS)。
- HTTPレスポンスで応答します。リクエストを実行するには、 Appium ネイティブのモバイル自動化フレームワークを呼び出して、アプリケーションのUIを制御します。
- iOS 用 Apple Instruments (インストゥルメントは、 Xcode OS X v10.5以降を搭載したバージョン3.0以降)。
- Google UIAutomator 用 Android APIレベル16以上。
- Selendroid の Android APIレベル15以下。
使用するための前提条件 Appium
- インストールを開始する Android SDK (スタジオ)[リンク].
- インストールを開始する JDK (Java 開発キット) [リンク].
- インストールを開始する Eclipse [リンク].
- インストールを開始する TestNG の Eclipse [リンク].
- インストールを開始する Selenium サーバーJAR [リンク].
- Appium クライアントライブラリ [リンク].
- APKアプリ情報 on Google 遊ぶ [リンク].
- Node.js (厳密には必須ではないが、 Appium サーバーがインストールされ、Node.exeとNPMが最新バージョンにバンドルされています。 Appium バージョン)。
- インストールを開始する Appium デスクトップ.
インストールを開始する Appium デスクトップ
Appium Desktop は、インストールして実行するオープンソースの GUI アプリケーションです。 Appium サーバー。使用に必要なすべての前提条件がバンドルされています。 Appium サーバーとして動作し、アプリに関する基本情報を表示するインスペクターと、モバイルアプリケーションを自動化する定型コードを生成するレコーダーが付属しています。
ステップ1) に行く http://appium.io/ ダウンロードをクリックしてください Appium.
ステップ2) 『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する Windows.exeファイルを選択してダウンロードしてください。ファイルサイズは約162MBで、ダウンロードにはインターネット接続速度に応じて時間がかかります。
ステップ3) ダウンロードした.exeファイルをクリックしてください。
ステップ4) 上の Windows マシンにはインストールウィザードはありません。 Appium .exeファイルから直接実行されます。.exeファイルをクリックすると、数分間、以下のスプラッシュ画面が表示されます。
『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する macOS.dmg ファイルをインストールする必要があります。
ステップ5) サーバー起動ウィンドウが開きます。デフォルトのホストとポート(変更可能)が入力され、 Appium 使用中のバージョン。
ステップ6) 詳しくはこちら サーバーを起動指定されたホストとポートで新しいサーバーが起動され、サーバーログの出力がコンソールに表示されます。
ステップ7) 詳しくはこちら New Session Window を選択します。.
ステップ8) 必要な機能を入力してセッションを開始してください。
Appium 検査官
に似て Selenium IDEの記録および再生ツール、 Appium 〜を持つ 検査官 テストの記録と再生用です。DOM を検査してネイティブアプリケーションの動作を記録および再生し、サポートされている任意の言語でテストスクリプトを生成します。 Appium インスペクターはサポートされていません Microsoft Windows: オン Windows それは Appium サーバーは要素の検査に失敗します。UIAutomator Viewer は、要素を検査するための推奨フォールバックです。 Windows.
開始するための手順 Appium Mac マシン上の Inspector:
ステップ1) ダウンロードして開始してください Appium サーバーはデフォルトのIPアドレス0.0.0.0とポート4725を使用します。
- テストに使用するソースファイルまたは.appファイルをローカルドライブから選択してください。
- 「アプリパス」チェックボックスをオンにすると、「選択」ボタンが有効になります。
ステップ2) 「選択」ボタンをクリックして、ローカルドライブからテストファイルを参照して選択してください。
ステップ3) Mac上でiOSシミュレーターを起動します。
ステップ4) クリック 起動する 右上隅のボタン。これにより青いアイコンが有効になります。そのアイコンをクリックして開きます。 Appium 検査官と、事前に選択されたアプリケーションを備えたシミュレーター。
ステップ5) 起動すると、 Appium インスペクターは、要素の階層構造を列ごとに表示します。ユーザーは、タップ、スワイプなどの操作を行うこともできます。
ステップ6) 詳しくはこちら Force Stop 録音を終了するには。
添付 Android エミュレータへ Appium
ステップ1) インストールを開始する Android お使いのシステムにSDKをインストールしてください。
コントロール パネル > システムとセキュリティ > システムを開きます。左側のパネルから、 システムの詳細設定システムプロパティのポップアップで、 高機能 タブをクリックして 環境変数.
ステップ2) 環境変数ポップアップからダブルクリック パス 設定して ANDROID_HOME SDKディレクトリを指す変数を指定します。SDKフォルダの完全なパスを追加してください。例:
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
ステップ3) 開始します Android エミュレーター、または Android デバイスをシステムに接続します。USBデバッグが有効になっていることを確認してください。 Android デバイス:デバイス設定 > 開発者向けオプション > 「USBデバッグ」を有効にする。
ステップ4) コマンドプロンプトを開き、 Android SDKの \platform-tools\ ディレクトリ(例: D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).
ステップ5) 実行する adb devices このコマンドを実行すると、接続されているデバイスがコマンドプロンプトウィンドウに表示されます。完全な形式は次のとおりです。 adb -s emulator-5554 install <Location of .apk file>.
ステップ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) 店は開いています Eclipse そして、新しいプロジェクト > パッケージ > クラスを作成します。
ステップ3) インポートする Selenium ライブラリと TestNG 新しいプロジェクトに参画する。
ステップ4) 小さなテストプログラムを作成します 電卓アプリ それは2つの数を足し合わせるものです。
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.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 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");
// Package name of the app (get it from an APK info app)
capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
// Launcher activity of the app (get it from an APK info app)
// Create a RemoteWebDriver instance and connect to the Appium server
// Launches the Calculator app on the Android device using the capabilities above
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}
@Test
public void testCal() throws Exception {
// Locate the keys on the calculator 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 calculator output by tag name
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 マネージャーからエミュレーターを選択し、[実行] をクリックします。 TestNGプログラムは選択したエミュレータ上で Calculator.app を実行し、結果が Eclipse コンソールを使用して TestNG フレームワーク。
の制限 Appium
- Appium テストをサポートしていません Android 4.2 より前のバージョン。
- ハイブリッドアプリのテストに対するサポートは限定的です。例えば、Webビューとネイティブビュー間の切り替え動作を双方向でテストすることはできません。
- 実行のサポートはありません Appium インスペクターオン Microsoft Windows.
よくあるエラーとトラブルシューティング手順 Appium
| エラー | トラブルシューティングの手順 |
|---|---|
| エラー: 以下の必要な機能が指定されていません: deviceName、platformName | 必要な機能を追加する deviceName (NAIST) と platformName から Appium スクリプト。例: capabilities.setCapability("deviceName", "Emulator"); (NAIST) と capabilities.setCapability("platformName", "Android"); |
| エラー: adbが見つかりませんでした。ANDROID_HOME環境変数を設定してください。 Android SDKのルートディレクトリのパス。 | システム環境変数の「パス」項目で、SDKのルートディレクトリを設定してください。 |
| エラー: org.openqa.selenium.SessionNotCreatedException: 新しいセッションを作成できませんでした。 | 正しいアプリパスを設定して再起動してください Appium サーバー。 |
| DOM要素を見つける方法または XPath モバイルアプリケーションで? | UIAutomator Viewerを使用してDOM要素を検査します Android 分野の様々なアプリケーションで使用されています。 |















