私はappiumのフレームワークを作成し始めました。私はドライバを作成しようとするときに挑戦に直面しています。Appium並列実行+ TestNGフレームワークの問題
は、それは次のように起動し
ステップ1:スレッド数とデバイス私はTestNGの@Beforesuiteで、実行時にappiumサーバを作成されます基づいています。
cap.setCapability("noReset", "false");
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Dev1");
cap.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome");
cap.setCapability(MobileCapabilityType.UDID, udid);
//Build the Appium service
builder = new AppiumServiceBuilder();
builder.withIPAddress("127.0.0.1");
builder.usingAnyFreePort();
builder.withCapabilities(cap);
builder.withArgument(GeneralServerFlag.SESSION_OVERRIDE);
builder.withArgument(GeneralServerFlag.LOG_LEVEL, "error");
appiumservice = AppiumDriverLocalService.buildService(builder);
appiumservice.start();
ステップ2:私は今、私はすべてのサーバーのURLや能力を持っている
appiumservice.getUrl().toString()
を使用して接続されているすべてのデバイスのためのappiumサーバーのURLのを取得します。
パラレルとスレッド数を3に設定すると、質問はTestNG.xmlになります。どのようにして、別のappiumサーバーURLを使用してテストを実行する必要があるかを、毎回@BeforeMethodでAndroidDriverオブジェクトを作成する方法を設定できます? @Beforemethodと@Aftermethodはどうすればよいですか?
おかげ
おかげシブが、しかし、私は、ソリューションに関する質問のカップルを持っています提供されます。 @beforemethodでドライバオブジェクトを作成しますか?パラレル実行は、提供されるパラメータの異なるドライバオブジェクトを自動的に処理しますか? http://127.0.0,1:4723/wd/hubと他のhttp://127.0.0.1:4724/wd/hub – user2350138
にあるスレッドを1つ言うと、デバイスとポート用に用意されたパラメータに基づいて作成されます。 .n ..インスタンス数127.0.0,1:4723/wd/hub、127.0.0,1:4724/wd/hub ...と並行してtesngを実行すると、がタグの下で並列に実行されます。 –
shiv