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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值