William

不管走了多远都不要忘记为什么出发

0%

Xcode Instruments 命令行方式调用

已经研究过appium+xcode10方式启动任意应用,之后通过TraceUlity解析trace数据获取性能数据,当然在ppt中也写过,知其然知其所以然,appium是通过Instruments -w udid -t Activity Monitor -D /var/folders/kd/6rx5zx0933jbprw8dygcr4s40000gn/T/20181120-93821-1u26x7f.vt4y/appium_perf_Activity_Monitor_1545301850892.trace -l 60000 -p 12620来启动instrument录制性能的。那么顺势就研究一下如何通过命令行启动instruments吧!

基本使用方式

查看instruments的使用帮助:

1
2
3
MacBook-Pro:~ william$ instruments
instruments, version 10.2 (64490.65)
usage: instruments [-t template] [-D document] [-l timeLimit] [-w device] [-P package] [[-p pid] | [application [-e variable value] [argument ...]]]
  • -t是指定模板
  • -D生成的.trace文件名和位置
  • -l指定运行时间,此处单位为ms
  • -w 指定设备id
  • -P 指定包名:如贴吧的 :com.baidu.tieba
  • -p 指定程序的pid,pid再运行的时候不好拿到,可以直接写名称,如贴吧的可以写TBClient.app
  • -e UIASCRIPT <path_to_script.js>
  • -e UIARESULTSPATH <output_results_path>
    上面的两个-e需要配合起来使用分别是:指定运行的 js 脚本存放的位置和指定输出结果存放的路径。xcode换成xctest之后-e 一般都不用于移动端测试。
    -t指定模板的时候最好不要使用固定路径,要使用模板的名称,因为每次更新xcode,模板的路径位置就会发生改变。

如何查找模板名称

  1. 可以通过instruments GUI上的名称来写。
    GUI

  2. 通过查找模板的位置来确定
    切换到instruments的目录,/Applications/Xcode.app/Contents/Applications/Instruments.app通过终端查找find ./ -name *.tracetemplate
    终端查找
    查看.tracetemplate前的名称来确定。

  3. 更简单的方式,通过instruments命令:在终端输入instruments -s
    然后查看最后Known Templates:来确定模板的名称。
    instrumens命令!

高阶用法

同时监控好几个模板,导出一个数据自己的.tracetemplate文件。

  1. 首先打开instruments,在主界面选择需要测试的模板,如下图,通过右上角的+添加。
    多模板!
  2. 选择完所有需要的模板后,点击Instruments -> file -> Save As Template 保存,记录好模板的名称。
  3. 然后就可以用自己的模板进行测试。
如果对你有帮助,欢迎赞赏。