monkey自动化测试框架(从下载安装app到发送报告的持续集成)

本文详细介绍了如何使用Monkey自动化测试框架进行Android应用的稳定性测试。包括Monkey的介绍、测试前的准备(如使用Jenkins进行持续集成)、UI自动化设置、Monkey测试的执行、错误日志统计、生成报告以及发送报告等环节,实现了从下载安装应用到发送测试报告的自动化流程。
摘要由CSDN通过智能技术生成

一、monkey介绍

1、Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar; Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey;

2、作用:测试androidApp的稳定性、健壮性

3、优点:自动生成脚本、日志能直接定位到被测app具体代码行数、随机性

4、缺点:测试目标为整个app,不能指定具体页面、功能

二、框架思路

先来一张图,然后再具体说明

首先肯定需要一台服务器,系统不限,win、mac、linux,都可以

1、持续集成

这个首选肯定是jenkins,主要是用来拉取被测app的代码、打包成apk安装包、定时构建测试

2、下载被测app、安装app(代码)

如果开发已经做好现成的apk供你下载,那就不需要自己拉代码打包了,只需要利用代码把apk下载到你的服务器上,然后调用adb命令安装。

3、测试前的准备工作(UI自动化)

monkey测试前肯定要检查一下,被测app的状态是否符合要求,比如要打开wifi、登录账号、切换测试环境、等等操作,这些就需要用UI自动化来实现,目前有两种框架可选uiautomator2.0和appium,我用的是uiautomator2.0。

4、执行monkey测试(shell脚本)

这里就开始执行monkey测试了,把monkey的指令写到一个shell脚本中,再把shell脚本push到手机里触发执行,该脚本还包含其他功能,比如:统计手机信息(内存、手机型号、app版本、安卓版本等等)、把monkey产生的日志分类,将正常log和异常log分别写入文件,放到手机的指定路径下、记录开始测试时间和结束测试时间、发生崩溃页面的截图功能。这些操作都要写到shell脚本中。

#!/system/bin/sh
dire="/mnt/sdcard/A-monkey/"
filename="/mnt/sdcard/A-monkey/error"
fileout="/mnt/sdcard/A-monkey/result"
filedetail="/mnt/sdcard/A-monkey/detail"

#获取手机信息
info(){
    devices_name=`getprop ro.product.model` #设备名称
    android_version=`getprop ro.build.version.release` #安卓版本
    PHONE_PRODUCER=`getprop ro.product.brand` #手机厂家
    SCREEN_SIZE=`wm size` #分辨率
    SCREEN_SIZE1=${SCREEN_SIZE#*:} #分辨率
    phone_sdk=`getprop ro.build.version.sdk` #sdk版本
    phone_udid=`getprop ro.serialno` #udid
    phone_ip=`ip -f inet addr show wlan0` #ip地址  ifconfig | grep Mask
    phone_ip1=${phone_ip#*inet}
    phone_ip2=${phone_ip1%/*}
    BabyfsVersion=`dumpsys package cn.babyfs.android|gre

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌翻天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值