使用仪器命令行实用程序启动特定硬件版本的iOS模拟器

时间:2012-10-11 09:13:14

标签: ios ios-simulator ios-ui-automation xcode-instruments

我正在使用Apple提供的UIAutomation - > Xcode - >仪器。 我使用仪器命令行基础设施运行Javascripts和整个自动化。

我还有一项额外的任务是在以前版本的模拟器(iOS 6.0,5.1,5.0,4.3.2)上运行自动化,以提供更好的覆盖率。

但我不知道如何指定哪个版本的iOS模拟器可供选择。默认情况下,它总是选择lates iOS模拟器。

我尝试了以下事项:

  1. 指定保存模拟器的路径,其中包括模拟器的版本路径。
  2. 制作自定义自动化模板跟踪并尝试使用它。
  3. 使用默认值com com.apple.simulator实用程序更改了iOS模拟器的默认版本。

5 个答案:

答案 0 :(得分:6)

由于Xcode 5.1 Instruments支持从命令行指定模拟器硬件类型和iOS版本。

instruments -w help

上面的命令将为您提供有关可用的hardvare-iOS组合的列表。在我的机器上是:

iPhone - Simulator - iOS 6.1
iPhone - Simulator - iOS 7.1
iPhone Retina (3.5-inch) - Simulator - iOS 6.1
iPhone Retina (3.5-inch) - Simulator - iOS 7.1
iPhone Retina (4-inch) - Simulator - iOS 6.1
iPhone Retina (4-inch) - Simulator - iOS 7.1
iPhone Retina (4-inch 64-bit) - Simulator - iOS 6.1
iPhone Retina (4-inch 64-bit) - Simulator - iOS 7.1
iPad - Simulator - iOS 6.1
iPad - Simulator - iOS 7.1
iPad Retina - Simulator - iOS 6.1
iPad Retina - Simulator - iOS 7.1
iPad Retina (64-bit) - Simulator - iOS 6.1
iPad Retina (64-bit) - Simulator - iOS 7.1

您也可以使用-w标志指定硬件和iOS版本。例如:

instruments -w "iPad Retina - Simulator - iOS 7.1" -t ...

请注意,-w标志必须位于命令行的开头,在任何其他标志之前,否则会出现奇怪的错误。

我在以下网址找到了这些信息: http://cocoamanifest.net/articles/2014/03/ui-screen-shooter-now-simpler-and-more-robust-since-xcode-5-1.html

答案 1 :(得分:2)

使用Instruments 5.0(与Xcode 5.0相关):

  1. 点击上方“自动化”右侧的小“i”图标 左侧窗口部分
  2. 在“目标”下方,点击名称 你的应用
  3. 在弹出菜单中,选择“编辑活动目标” 弹出窗口,
  4. 点击“选项”菜单,然后点击“模拟器”下方 配置“选择要模拟的设备和iOS版本。
  5. 如果您没有看到特定的iOS版本,则需要在Xcode中添加该模拟器:

    1. Xcode菜单,首选项......
    2. 下载标签
    3. 点击下一个向下箭头 到您要安装的iOS模拟器版本
    4. PS:我创建了一些很棒的截图,但stackoverflow不会让我发布它们。嘘声。

答案 2 :(得分:0)

您是否尝试过iOS-Sim https://github.com/phonegap/ios-sim?从cmd使用模拟器时,这为您提供了一些额外的选项。版本就是其中之一。

答案 3 :(得分:0)

如果您可以在UI上选择它,您应该能够使用applescript获得相同的结果。这是如何在AppleScript上更改设备的示例:https://gist.github.com/Reflejo/9537281

答案 4 :(得分:0)

试过这样的事情?

xcrun instruments -v -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate ~/Library/Application\ Support/iPhone\ Simulator/6.1/Applications/00C7521A-92D9-4627-BB1D-2CD7CA605B9B/Mobile\ EMR.app -e UIASCRIPT /Volumes/Data/SoftServe/Projects/mEMR/imHealth/Testing/testUI.js -e UIARESULTSPATH /Volumes/Data/SoftServe/Projects/mEMR/imHealth/Testing/results.txt