前言

iOS 稳定性测试业界做的比较少,因为 iOS 没有提供类似 google 的那种 Monkey 工具,在实际的项目中也需要对 iOS 进行稳定性测试,所以进行了一番调研.先后使用了一些工具到自己开发的工具,从中也学到了不少知识.本文就介绍下,使用 iOSMonkey 的一些心得.

调研工具

预期

执行流程

配置文件

config文件中配置数据:
UDID: "606EC265-1ED8-454D-AF80-BEB78A417B55" #设备udid
BUNDLEID: "com.iOS.Demo"  #app的bundle id
TIMING: "1" #运行时间,单位分钟
PORT: "3460" #appium端口
PROXYPORT: "5680" #WDA端口
NeedScreenshot: "true" #是否截图, true是截图
ScreenshotFolder: "~/iOSMonkey" #截图目录
VERBOSE: "true" # 打印日志
TRACEPATH: "~/iOSMonkey" # 性能文件路径
AppiumLogFolder: "~/iOSMonkey" # appiumlog文件路径
TestCase: "/Users/xinxi/Desktop/iOSMonkey/testcase.yaml" # 测试用例文件,可选项

用例配置

因为有些 app 是启动以后必须登录,可以通过自定义用例,先进行登录操作再执行 monkey 操作.

需要在 config 配置文件中配置用例地址

TestCase: "/Users/xinxi/Desktop/iOSMonkey/testcase.yaml"

用例配置如下

testcase:
  casename: "case1"
  steps:
  - when: "name;Action Sheets"
    by: "name;Action Sheets"
    action: "click"
    sleeptime: "500"
  - when: "name;Other"
    by: "name;Other"
    action: "click"
    sleeptime: "500"

使用方法

在项目根目录执行mvn install,cd到target目录下.
config.yam文件是上面介绍的配置文件
执行java -jar iOSMonkey-1.0.jar -f ~/config.yam

测试 app 可以 clone 这个项目https://github.com/appium/ios-uicatalog,在本地编译.

性能文件

生成 trace.zip 文件,解压该文件并且双击点击该文件,会生产 cpu 使用率走势图

运行效果

把所有运行步骤截图合成一份 gif 图,方便出现 crash 定位复现步骤.

后续

因为实际项目中使用的模拟器进行测试,所以代码中查崩溃日志是用的模拟器的崩溃文件地址,后续会兼容一下真机.使用上并没有其他差别.

项目地址

https://github.com/xinxi1990/iOSMonkey


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