Android プラットフォームの複数のデバイスでスクリプトを実行しようとしていますが、実行できません。ソリューションの Github ページを調べたところ、単一の Appium サーバーから複数の (Android) デバイスをサポートすることに関する次のリンクが見つかりました。
しかし、まだ複数のデバイスのセットアップ環境がわかりません。
Android プラットフォームの複数のデバイスでスクリプトを実行しようとしていますが、実行できません。ソリューションの Github ページを調べたところ、単一の Appium サーバーから複数の (Android) デバイスをサポートすることに関する次のリンクが見つかりました。
しかし、まだ複数のデバイスのセットアップ環境がわかりません。
複数のAndroidデバイスで順次または並列実行するには、次のことが必要です-
並列実行に Java Thread と Runnable インターフェイスを使用する以下の投稿を確認してください - http://automationtestinghub.com/appium-parallel-execution/
複数のデバイスで appium スクリプトを実行するには
ここでは、単純な Java スレッド ベースのプログラムを作成しました。
次のコードが役立ちます。
//単一の appium サーバーから複数のエミュレーターを実行する
public class Test{
WebDriver driver = null;
int timeOut=180;
int port=-1;
Test(int port){
this.port=port;
}
public void testEmulator(int p) throws Exception {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "Android");
capabilities.setCapability(CapabilityType.VERSION, "4.3");
capabilities.setCapability(CapabilityType.PLATFORM, "Windows");
capabilities.setCapability("udid","emulator-"+p);
capabilities.setCapability("app-package", "your.app.pkg");
capabilities.setCapability("app-activity",
"your.app.pkg.Activity");
driver = new RemoteWebDriver(new URL("http://127.0.0.1:"+this.port+"/wd/hub"),
capabilities);
driver.manage().timeouts().implicitlyWait(timeOut, TimeUnit.SECONDS);
Thread.sleep(50000);
}
public void tearDown() {
if (driver != null)
driver.quit();
}
public void runTest() {
try {
testEmulator(5554); // for emulator on port 5554
tearDown();
testEmulator(5556); // for emulator on port 5556
tearDown();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new Test(4723).runTest(); // appium server port 4723
}
}
GUIといえば、環境はWindowsでしょうか。次に、次のバッチを使用できます。
@ECHO OFF
cd "C:\Program Files (x86)\Appium\node_modules\appium"
node server.js --app "<path-to-your-project>\bin\<app-name>.apk" -p <port-to-listen-on> -dp <device-port-to-connect-to-device-on>
これにより、2 つの異なる Appium サーバーを起動し、それらを並行して使用できるようになります。
使用可能なすべてのコマンドの完全なリストを表示するには、次のように入力しますnode server.js --help
。
npm 経由で Appium をインストールした場合、server.js へのパスは "C:\Users\\AppData\Roaming\npm\node_modules\appium" のようになります。