【发布时间】:2017-12-01 21:42:48
【问题描述】:
您好,我正在使用设备场、appium、testng 框架来实现 iOS 自动化。我需要有关如何知道设备池中的 iOS 设备版本的信息。我的场景是测试版本低于 9.3 的设备使用 appium 测试,高于 9.3 的设备使用 XCUITest。您能否建议这种情况的任何可能性。
提前致谢 里约
【问题讨论】:
您好,我正在使用设备场、appium、testng 框架来实现 iOS 自动化。我需要有关如何知道设备池中的 iOS 设备版本的信息。我的场景是测试版本低于 9.3 的设备使用 appium 测试,高于 9.3 的设备使用 XCUITest。您能否建议这种情况的任何可能性。
提前致谢 里约
【问题讨论】:
我在 AWS Device Farm 团队工作。
据我了解,您希望在运行时根据操作系统版本选择测试框架。
设备场可以单独运行 Appium 和 XCUI 测试。看这个的简单方法是:
您选择了设备场上的设备池,它是设备的集合。该设备池可以在9.3及以上类型中分离,并可以相应地调度运行。
当您控制应在其上运行测试的设备时,选择测试类型变得更加容易。
希望对您有所帮助。
【讨论】:
你可以在运行时使用这样的东西来区分,这可以用于android和ios,并在运行时切换:'
driver = MobileDriverUtil.getAndroidDriverForDeviceFarm();
if (!driver.getCapabilities().getCapability("platformVersion").toString().startsWith("4")) {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.ANDROID_UIAUTOMATOR2);
driver.getCapabilities().merge(capabilities);
} else {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.APPIUM);
driver.getCapabilities().merge(capabilities);
}
【讨论】: