如何找到iOS设备型号?

时间:2015-07-30 20:17:14

标签: java ios automation appium

我的问题如下:如何找到设备型号名称,原因如下。我正在为Appium编写Java代码,并希望创建一个特定的逻辑门来处理不同的模型类型,这些模型类型具有适合每个特定设备维度的测试用例。

我尝试过阅读不同的解决方案,其中一些涉及Android,可能会提供一些有用的指示。但事实并非如此。 。System.getProperties()名单(的System.out);例如,我希望能为我提供所需的解决方案,也不是答案。虽然我已经预料到了这一点。

我会使用capabilities.getPlatform();但是,这是无效的,因为默认情况下的功能是null,因此getPlatform()只会返回我必须手动传递的名称。此时,我怀疑在Java中可能没有办法做到这一点(?)我找到了一个用JavaScript完成的代码,但它用于检查连接到网站的手机类型(链接:{ {3}})

非常感谢帮助。以下是我的@BeforeTest方法:

@BeforeTest
    public void setUp() throws FileNotFoundException, IOException, IllegalMonitorStateException
    {


        //File app = new File("/Users/first.last/Library/Developer/Xcode/DerivedData/iPhone-aowtfpozolcnpigbxzxxxxkyiubq/Build/Products/Debug-iphonesimulator/TheWeather.app");


        DesiredCapabilities capabilities = new DesiredCapabilities();

        capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "iOS");

        //8.4
        capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "8.4");
        //Iphone 6-(storytelling)-igor

        capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Iphone 6-(storytelling)-name");

        //capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
        capabilities.setCapability("bundleID", "com.weather.TWC");
        //70cb6f4fd5e313b16742c083ccbc1897d82b094d
        capabilities.setCapability("udid", "70cb6f4fd5e313b16742c083ccbc1897d82b094d");

        driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
        driver = (IOSDriver) new Augmenter().augment(driver);
        System.out.println(capabilities.getCapability(MobileCapabilityType.DEVICE_NAME));
        logger.info("Environment: iOS 8.4 and iPhone 6 plus device");

    } 

1 个答案:

答案 0 :(得分:0)

我会使用传递给所需功能的参数。

但正如我所理解的那样,这不是一个选项,所以我建议从代码中启动instruments -s devices命令并解析与特定UDID匹配的输出。我知道这是一个“肮脏”的方法,但我没有遇到更好的选择。祝你好运!