在新的 Xcode 版本中,从命令行运行 UIAutomation 测试似乎经常会中断(根据过去的帖子判断)。由于从未使用过命令行脚本,我发现了 2012 年的这篇文章:来自命令行的自动化仪器 https://stackoverflow.com/a/11164753/535054.
问题:我的命令返回时没有错误,没有输出结果,也没有任何内容记录到系统控制台。模拟器甚至无法启动!
检查一些更新路径(特别是自动化跟踪仪器路径),我想出了这个命令。请注意第一个参数中的路径(它与过去的 Xcode 版本不同):
instruments -t "/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate"
"/Users/sohail/Library/Developer/CoreSimulator/Devices/7232A640-A9D2-4626-A2AD-37AFFF706718/data/Containers/Bundle/Application/D07FEC4B-76AD-4844-8362-08E771B81053/MyAppName.app"
-e UIASCRIPT "/Users/sohail/source/MyAppName/MyAppNameAutomationTests/TestRunner.js"
-e UIARESULTSPATH "Users/sohail/source/MyAppName/MyAppNameAutomationTests/TestResults"
通过从中选择“raw”可能会更容易阅读gist https://gist.github.com/idStar/485516741b4e5ea95b7b.
当然:
- 我验证了为我的 .app 指定的路径确实存在;它是在成功构建和运行后应运而生的。
- 我验证了在我指定的输出文件夹(“TestResults”)中实际上没有记录任何内容。
- 我验证了上述
TestRunner.js
我指定的文件可以在指定的路径中找到,并且可以在自动化仪器中与仪器应用程序交互地成功运行。
- 我检查过 Apple 的 Xcode 6/iOS 8预发布文档 https://developer.apple.com/library/prerelease/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/UsingtheAutomationInstrument/UsingtheAutomationInstrument.html#//apple_ref/doc/uid/TP40004652-CH20-SW1(需要登录;请参阅部分标题“从命令行执行自动化仪器脚本”),并且我没有发现任何错误,因为我只是针对模拟器。
My suspicion
有人想吗?
在明确提供后,我看到了完全相同的问题-w $设备参数,我的测试终于开始了
instruments -t /Applications/Xcode6.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate
-w "iPhone 5s (8.0 Simulator)" /path/to/my/TestApp.app -e UIASCRIPT /tmp/script.js -e UIARESULTSPATH /tmp
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)