前言

都说 monkey 是压力测试工具。但实际使用中我们好像只关心 monkey 是否跑出了 ANR, CRASH, 压力测试过程中的性能数据似乎没有那么重要。性能指标更多的是需要分析出来,而不是跑一次 monkey 可以得出的。

如何每次跑 monkey 的时候把性能指标也统计出来并方便每个人查看呢?

这里仅提供一个性能统计的思路 —— 执行 monkey 的时候统计性能指标 (cpu, mem, mem heap),并用 jenkins 展示出来。

鉴于性能统计的方法testerhome上有很多,以下仅为 Jenkins 创建任务说明。

Jenkin JOB

** 构建一个自由风格的软件项目。**

在源码管理中配置 git 拉取源码

jenkins monkey job

在构建中添加 shell/bat(参数即 monkey 的执行参数,更改为你自己的参数即可):

cd adb
python tools/monkey.py  -p com.example.android.testing.uiautomator.BasicSample --pct-syskeys 0 --pct-motion 0 --throttle 300 --bugreport 1000

jenkins monkey shell

构建后,public html report:

jenkins public html

执行构建后,查看 html report:

构建之后,jenkin html report这个插件会把指定的archive的所有 html(这里是 workspace/$jobname/adb/output) 复制到jobs/$jobname/htmlreports文件夹下。

jenkins public result

备注:如果构建中遇到了报错:

Blocked script execution in 'index.html' because the document's frame is sandboxed and the 'allow-scripts' permission is not set.

需要把 jenkins 的安全限制放开 (jenkins 启动文件 config.xml 中配置-Dhudson.model.DirectoryBrowserSupport.CSP=)

这样,结合 jenkins ,每日 monkey 跑性能的同时,也可以展示性能指标的趋势。


↙↙↙阅读原文可查看相关链接,并与作者交流