我剛開始創建一個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步:我會得到appium服務器URL的所有設備使用連接
appiumservice.getUrl().toString()
現在我有所有的服務器的URL和能力。
現在的問題是在testng.xml文件,如果我給並行和線程數到3,如何設置以這樣的方式創建一個@BeforeMethod對象AndroidDriver每次應採取不同的appium服務器的URL和執行測試? 我的@Beforemethod和@Aftermethod應該如何?
感謝
感謝毒刃,但我有幾個對解決問題提供。你想讓我在@beforemethod中創建驅動程序對象嗎?並行執行會自動處理所提供參數的不同驅動對象?可以說http://127.0.0,1:4723/wd/hub中的一個線程和其他http://127.0.0.1:4724/wd/hub – user2350138
根據您爲設備和端口提供的參數,它將創建.. .n實例數127.0.0,1:4723/wd/hub,127.0.0,1:4724/wd/hub ...在tesng中聲明並行將在標記中以並行方式執行。 –
shiv