モバイルアプリの自動化テストは初めてで、デバイスをサーバー/コンソールに接続し、接続されたデバイスを Web からリモートで制御する必要があります。どうすればこれを達成できますか。助言がありますか?ネイティブ アプリ用に selendroid を試しましたが、Web とデバイスを同時にテストする方法がわかりません。
例: 「Airdroid」のような私のアプリ
モバイルアプリの自動化テストは初めてで、デバイスをサーバー/コンソールに接続し、接続されたデバイスを Web からリモートで制御する必要があります。どうすればこれを達成できますか。助言がありますか?ネイティブ アプリ用に selendroid を試しましたが、Web とデバイスを同時にテストする方法がわかりません。
例: 「Airdroid」のような私のアプリ
Appium サーバーを起動すると、特定のポートでリッスンが開始されます。テスト コードでは、Appium が実行されているアドレスを指す URL オブジェクトを渡すことで AndroidDriver オブジェクトを初期化できます。
たとえば、Appium が www.example.com のポート 4723 で実行されている場合、クライアント側のテスト コードには次の行が必要です。
AndroidDriver driver = new AndroidDriver(new URL("http://www.example.com:4723/wd/hub"),
capabilities);
capabilities オブジェクトは、Appium サーバーのパラメーターとフラグをリストする DesiredCapabilities オブジェクトです。AndroidDriver オブジェクトを初期化した後、ドライバーで AndroidDriver のメソッドを呼び出して、リモート サーバーに接続されているアプリを実行しているデバイスと対話できます。
また、AndroidDriver クラスの Appium Java クライアントを既にダウンロードしていると仮定しましたが、まだダウンロードしていない場合は、Maven プロジェクトの pom.xml に以下を追加できます。
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>2.1.0</version>
</dependency>
また、今後の参考のために、Java クライアントと Appium のドキュメントへのリンクを次に示します。
http://appium.github.io/java-client/io/appium/java_client/android/AndroidDriver.html
http://appium.io/slate/en/master/?java#appium-server-capabilities
https:/ /github.com/appium/java-client/blob/master/README.md
また、接続リクエストが Appium に到達できるように、ファイアウォールでポートを転送してください。