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

扫地僧 · 2016年04月28日 · 最后由 不贱不散 回复于 2020年03月12日 · 4863 次阅读

需求:自动抓取 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 成功的?

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

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

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

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

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

#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 我和你的情况一样,解决了吗?

15楼 已删除

#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 的时候会自动的启停应用,影响了自动化的执行,您是怎么解决的,在什么场景下使用的呢?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册