移动性能测试 持续集成中的 Android 稳定性测试 - 续

xinxi · 2018年12月07日 · 最后由 兔子🐰 回复于 2022年06月30日 · 4745 次阅读

前言

前段时间在社区中发了一篇持续集成中 Android 稳定性测试的帖子,https://testerhome.com/topics/16909.

现在做了一个开源版本的,完全脱离主项目、优化一些代码、增加了一些性能数据统计.

项目地址:https://github.com/xinxi1990/maxauto.git

功能点:

使用开源工具 Maxim 进行 Monkey 测试,包含如下功能:

1.安装测试

2.启动测试

3.登录测试

4.Monkey 测试

5.性能数据统计

6.崩溃日志及崩溃回溯图片

登录测试

需要在 lanuchtest/lanuchapp.py 实现登录测试,
使用 appium 进行元素定位即可

可以By.xpath、By.id,后面写元素的值.

self.driver.find_element(By.XPATH,self.sure).click()

环境依赖

1.adb 环境

brew install adb

2.appium 环境

npm install appium

3.python 库

在根目录,执行 python setup.py 会安装有 python 需要的库

邮件

需要在report/mailconfig.py中配置发件人相关信息
# 设置服务器,用户名、口令以及邮箱的后缀
mail_host = "smtp.exmail.qq.com"
mail_user = "xxxxx@xxxxx.com"
mail_pass = "xxxxx"
mail_postfix = "xxxxxx"

运行

cd到根目录下

apk_path:本地apk路径
device_name:设备号,使用adb devices查看
run_time:运行时间,单位分钟
mail_list:报告邮件人,多人用逗号分隔

python run.py apk_path device_name run_time mail_list

报告

在 report/reports 目录下生成,效果展示如下

report1.jpg!

report2.jpg

report3.jpg

结语

最后感谢@zhangzhao4444开发出 Maxim 这么优秀的工具,欢迎大家 fork 和 star.

共收到 14 条回复 时间 点赞

想请教一下用 Maxim 跑遍历,去统计 Activity 的覆盖率,能遍历的 Activity 比较少,也就是覆盖率比较低,请问怎么去提高覆盖率?😀

Smile 回复

这需要有个能遍历预期值,比如说能遍历到 40% 包含主流页面,有些页面可能都是看不到的.
比如设置 max.xpath.selector 控件优先级、特殊事件等.

我觉得覆盖率还可以啊,一个小时能跑 80 多个 activity 呢,楼主你这个遍历的 activity 覆盖是最后的日志中解析出来的么?

heygrl 回复

max 跑完了有个 log 日志,从里边解析的,但是有个问题.一旦操作异常了就没有 log 日志,所以我会做个备份,自己记录一下.

xinxi 回复

楼主自己咋记录哟,没跑完就没数据,难道是自己从外围去不断的获取 activity 数据么,还有你们现在能覆盖多少个 activity?

在 Windows 平台下怎么使用 gunicorn 服务?

项目在维护的吗?

xenos_liu 回复

在维护,有啥需求和 bug,可以加微信沟通

老哥,能加下你的微信吗,好多问题想向你请教~~

最近经常跑着跑着 monkey 就没了,日志里也没啥错误,然后 mokey 没跑完的话也没有 maxim 的统计,报告里很多空的

12楼 已删除
仅楼主可见

楼主 微信方便加个微信沟通吗

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