移动性能测试 还在用高速摄像机测试页面加载或 app 启动时间,你 OUTER 了~

chenyouan · 2022年03月02日 · 最后由 YFDragon 回复于 2023年09月21日 · 5988 次阅读

背景:

通过自动化脚本和图像识别技术进行启动和页面加载测试,发现要写脚本,还有截图进行自动脚本编写,调试,测试,又遇到需求测试紧急,跨度时间长,这就很难受,有没有比较快速的工具呢?想了想,刚好有了解到 scrcpy 是将 Android 图像通过视频流的方式给 web 展现的原理,然后又想到之前页面加载,app 启动都是通过高速摄像头测试,然后结合两者一拍头脑,其实高速摄像头也是一帧一帧的图片,其实 scrpcy 就可以搞定,它也是通过视频流来展示的,又恰巧之前就有做了一些 scrcpy 的技术沉淀(这方面得益于测试团队经常会投入精力研究一些技术储备),于是测试和开发同学,开始干活修改 scrcpy 客户端源码,编译,调试,然后这个工具就产生了;

工具原理:

scrcpy 视频流技术把在手机上的图片持续不断的回传到指定文件夹,并图片名字以 13 位数字时间戳进行命令。然后通过眼睛来看不同图片的变化,来进行查看,选定要对比的两张,然后就可算出从这个页面到另外一个耗费多少时间,精确到 ms;

ps:scrcpy 这个还得继续修改,要替代 minicap,用来做 UI 自动化的截图,妥妥的兼容性高,又成本低,又不用持续更新;

优势:

不用写脚本,兼容安卓任意品牌,安卓手机上任意软件均可测试,效率高,速度快,上手快,成本低;

缺点:

人为操作,结果确认,会存在误差;

环境:

jdk1.8(必须),配置 sdk(必须),.net 环境(时间自动统计工具会用到)

软件:

使用步骤:

1.解压文件,然后点击打开 config 文本,进行 sdk,截图路径,依赖 scrcpy-win64 配置,配置完以后,保存。

2.通过 adb devices 获取设备名

3.执行命令:java ScreenshtoNg 设备名 40,确定后,就会启动脚本,然后你在手机进行操作,就会把你操作的动作视频流保存到指定文件夹;

4.在设备名下面进入 continual 文件夹,然后会有你在手机上操作的所有图片,图片是以时间戳命名和每张图时间,然后根据你的场景,去知道第一张图片的时间戳,然后找到加载完成第二张图片的时间戳,相减就可得到页面加载时间,单位是 ms

5.安装 HoneyView5.46 程序,安装完成以后打开,然后把 continual 文件夹拉进来,可以通过键盘左右操作进行查看页面变化;

前面操作部分可查看以下视频:

功能不支持,可到 V 订阅号搜索【测试一般不一般】关注查看~

工具下载地址:

链接:https://pan.baidu.com/s/15XD9u5xzRFYH66VDpuugBA
提取码:0000
(有效下载时间 7 天~,有源码哦~)

工具修改,操作注意事项,自动统计时间工具,请期待下篇~

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 2 条回复 时间 点赞

楼主你好,链接失效了,麻烦再上一个,感谢!

这里有点疑问,如果 UI 庞大的话 这个手工筛选变帧的有没有什么办法自动化实现,尝试用了 opencv absdiff 感觉不是很好用,尤其是游戏 UI 经常还不是纯静态的

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