1

嗨,我正在使用设备场、appium、testng 框架进行 iOS 自动化。我需要有关如何知道设备池中的 iOS 设备版本的信息。我的场景是测试版本低于 9.3 的设备使用 appium 测试,高于 9.3 的设备使用 XCUITest。您能否建议这种情况的任何可能性。

在此先感谢 Rijo

4

2 回答 2

1

您可以在运行时使用这样的东西来区分,这可用于 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);
            }
于 2018-05-04T17:32:57.953 回答
1

我在 AWS Device Farm 团队工作。

据我了解,您希望在运行时并基于操作系统版本选择一个测试框架。

设备场可以单独运行 Appium 和 XCUI 测试。看这个的简单方法是:

  1. 您选择了设备场上的设备池,它是设备的集合。此设备池可在 9.3 及以上类型中分离,并可以相应地调度运行。

  2. 当您控制应在其上运行测试的设备时,选择测试类型变得更加容易。

希望有帮助。

于 2017-06-28T20:39:59.293 回答