移动性能测试 [求助] Instruments 部分模板在命令行抓取数据失败问题

扫地僧 · April 28, 2016 · Last by 不贱不散 replied at March 12, 2020 · 2936 hits

需求:自动抓取ios终端的性能数据,解析后展示,最终为性能测试平台服务

部分模板的性能数据可以抓取,例如:

instruments -w #udid# -v -t "Energy Diagnostics" -D Energy.trace xxx.ipa
instruments -w #udid# -v -t "Allocations" -D Allocations.trace xxx.ipa

部分模板的性能数据抓取报错,例如:

instruments -w #udid# -v -t "Activity Monitor" -D Activity_Monitor.trace xxx.ipa
instruments -w #udid# -v -t "Network" -D Network.trace xxx.ipa

报错信息如下:
Instruments : Loading template 'file:///Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/Resources/templates/Network.tracetemplate'
Assertion failed: (_colorByNumber.size() > 0), function -[XRTheme _prepareColorsForLegacyUse], file /Library/Caches/com.apple.xbs/Sources/Instruments/Instruments-58157/Theming/XRTheme.mm, line 568.
Abort trap: 6
/Library/Caches/com.apple.xbs/Sources/Instruments/Instruments-58157/Theming/XRTheme.mm,这个文件不存在
iprofiler指定终端执行也不行
但是,在instruments的UI界面,这些模板都能指定设备且正常抓取
几天了都没解决这个问题,网上资料实在太少,google了也找不到,官网就一句话带过,详见官网入口,还请大侠仗义相助!*

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 27 条回复 时间 点赞

建议早点儿切换 xctest 吧

Xcode Version 7.0.1 (7A1001)
Instruments Version 7.0.1 (7A1001)

#1楼 @xdf 能说的详细点吗
我的需求:不在代码插桩(此方案不支持竞品对比测试),且能抓取靠谱的性能数据

#1楼 @xdf 能提供抓取性能数据的API是什么吗?也好做个命令行工具啊

解决了trace的解析和展示,却卡在了trace的生成上面,蛋疼的就是想要的数据无法导出,其他的数据却可以,够闷的

有人试过吗?有没有在命令行导Activity Monitor成功的?

扫地僧 #7 · May 01, 2016 作者

虽然其他的数据能爬取解析用chart展示,但activity模板抓取数据还是很重要的,必须解决,坐等解迷人

ios instruments 抓取ios真机的性能数据,最终集成到性能测试平台中,我想问问数据采集的场景你是怎么设计的,在类似于Android的monkey测试的场景下么?还是?最近在考虑搞一个Android和ios性能测试平台,ios的资料比较少,刚开始看instruments,还没什么思路,所以请教一下

#8楼 @azdbaaaaaa 采集的场景可以是基于业务的自动化案例,也可以是基于规则的自动化遍历工具,两方面都要支持吧
我最近也是做这个,ios的确实蛋疼,你有好的解决方案也可以拿出来分享

我们自动化案例还处于空白阶段;Android暂时是基于monkey做的,自动化遍历的也还没做。今天刚开始着手看看ios,还没什么思路

有一个问题想问一下你哈,我看你也是用的highcharts展示的,我预计数据采集的量达到2W左右个点,但是highcharts超过1000个点好像就有问题了,你有碰到过这个问题么

扫地僧 #12 · May 17, 2016 作者

#11楼 @azdbaaaaaa 没遇到过,静态页面采集频率设计好,如果是动态页面,用ajax刷新填充

运行这条命令可以正常生成Activity_Monitor.trace 但是真机的整个界面卡主不能动了,有碰到过么?

instruments -w #udid# -v -t "Activity Monitor" -D Activity_Monitor.trace #bundleId# 

instruments Version: 7.3.1 (7D1014)
mobile: iphone5c 8.3

Log:

Instruments : Loading document 'Activity_Monitor.trace/ -- file:///Users/jimmy_zhou/'
Instruments : Loading template 'file:///Users/jimmy_zhou/Activity_Monitor.trace/form.template'
Instruments : Trace Command Recognized
Instruments : (null)
Instruments : (null)
Instruments : Instruments Accepted Command
Instruments : Preparing To Start Trace
Instruments : Starting Instrument(s)

#13楼 @azdbaaaaaa 我和你的情况一样,解决了吗?

15Floor has been deleted

#14楼 @chentest 额,没解决,暂时先用9以上的机器吧,等开发有空了找他们看看

#16楼 @azdbaaaaaa 我这边用9.3也有问题的。

#12楼 @quqing 你好 ,在用appium或者直接用uiautomation执行UI功能测试的时候,结果文件中有.instrumentscli.trace文件,你提到已经解决解析trace文件方案,是怎么解析trace的呢?能否指导一下呢?

#18楼 @diao2007
你好 我也是使用appium做自动化UI测试的,请问那个结果文件是需要在代码中设置什么吗?还是直接去取就ok了?

楼主可不可以分享一下instruments抓取各性能数据的方案?

楼主你好,请问您现在有解决instruments命令抓取性能数据这个问题吗?

另外,请问,在官方的示例中,instruments -t "Allocations" -D ~/Desktop/YourTraceFileName.trace PathToYourApp,这个PathToYourApp是怎么获取的呢?谢谢orz

剪烛 回复

请问这个PathToYourApp这个你获取到了么

niky 回复

并没有,放弃这个方案了。。。

hi,楼主,我也遇到这个问题,ios12 + instruments, version 10.0 (64293.19),请问已经解决了吗?

嗨,楼主。请问 “部分模板在命令行抓取数据失败问题“ 这个问题后来解决了吗?怎么解决的可以分享一下吗?

大佬,求相关解析方案啊,也在搞这个,不会获取stack trace数据

扫地僧 回复

instruments如何基于自动化案例进行采集啊,目前遇到调用instrument的时候会自动的启停应用,影响了自动化的执行,您是怎么解决的,在什么场景下使用的呢?

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up