您的位置:首页 > 其它

Xcode6.2在终端使用Automation进行自动化测试

2015-04-01 22:33 387 查看

instruments命令

参数:

-w 真机或模拟器的UIID或者名称

-e UIASCRIPT 脚本路径

-e UIARESULTSPATH 执行结果的路径

-t instrument的追踪模板,其中有自动化模板,也有检测内存的模板

执行命令

模拟器:

instruments -t "/Applications/Utilities/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate" -w "iPhone 5s" "/Users/user/Library/Developer/CoreSimulator/Devices/C0E2AE19-9362-47D6-928C-A353FBE0F1B7/data/Containers/Bundle/Application/39E3F658-90CD-45D3-9EFC-1582E3AD80C0/LaShouGroup.app" -e UIASCRIPT "/Users/user/Downloads/ui-auto-monkey-master/UIAutoMonkey.js" -e UIARESULTSPATH "/Users/user/Documents/测试"


真机:

instruments -t "/Applications/Utilities/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate" -w $device_udid "Test" -e UIASCRIPT "/Users/user/Downloads/ui-auto-monkey-master/UIAutoMonkey.js" -e UIARESULTSPATH "/Users/user/Documents/测试"


模拟器上与真机上不同之处:

1、-w后面的内容不一样

2、在模拟器上,给Test.app给的是绝对路径,在真机上只需要给这个应用名就行。

遇到问题:

1、第一次的时候,没有加-w参数的时候,执行的时候,没有任何反应,不报错也没有结果输入。

2、UIASCRIPT写成了UASCRIPT之后,造成了结果执行只有1.3秒就执行完了,而且不生成结果,命令行中的内容:

Instruments Trace Complete (Duration : 1.328499s; Output : /Users/user/Downloads/ui-auto-monkey-master/instrumentscli5.trace)

后来灵机一动,打开了instrumentscli5.trace发现执行这个根本没有导入脚本,这才怀疑是没有导入真正的脚本。

扩展

UIAHost有个performTaskWithPathArgumentsTimeout方法可以用来调用,这个方法可以调用JS外部的应用,从而达到交互。例如,豆瓣或者淘宝测试都用到了这个方法,从而让服务端通过java来控制js进行自动化测试。

参考

http://stackoverflow.com/questions/15410465/start-instruments-from-the-command-line
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐