我正在使用Apple提供的UIAutomation - > Xcode - >仪器。 我使用仪器命令行基础设施运行Javascripts和整个自动化。
我还有一项额外的任务是在以前版本的模拟器(iOS 6.0,5.1,5.0,4.3.2)上运行自动化,以提供更好的覆盖率。
但我不知道如何指定哪个版本的iOS模拟器可供选择。默认情况下,它总是选择lates iOS模拟器。
我尝试了以下事项:
答案 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相关):
如果您没有看到特定的iOS版本,则需要在Xcode中添加该模拟器:
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