对于安卓app专项性能测试中的页面加载/启动时间测试,对于测试方法的选择主要考虑技术,成本和测试项;对于启动时间/页面加载时间目前主要测试方法有五种,第一种是通过Android Device Monitor 通过筛选包名和Displayed关键字,来看启动时间;第二种是通过获取APP的启动activity,然后通过adb shell am start -W 包名/xxxActivity启动页面,然后输出的的时间有This time,Totaltime和Waittime三个时间;第三种是通过高速摄像机和QuickTime Player 来测试;第四种是通过自动化和图像识别来统计时间;第五种是让开发在代码插桩来进行统计;其中第五种是依赖开发或者依赖代码,并且存在无法判断元素是否加载完成,存在误差,综合以上,根据能力的区别和成本投入,前面四种测试方法都有人选择,而对于第三种应该是最准确,也是对于高要求的公司在使用,基本高速摄像头,一般1s都有240张图,可以测试的很精准,可以真正的测试到用户感知的页面加载完成的时间;对于成本投入小,精度要求不是特别高的,我建议是使用自动化和图像识别,这个是最好的;
而对于这个方法,我主要介绍appium,scrcpy和图像识别opencv结合起来开发的工具4399AT,其中scrcpy是一个投屏工具,我主要是通过它来把手机图片回传,目前的android10-12都可以使用,不会出现跟minicap在android10以上的手机无法使用的情况,通过自动化可以避免人工操作的失误,来提供准确率;具体工具审计,演示及测试案例,请查看详细视频:
(会给你惊喜的感觉,请耐心看完)
其中视频中有一个统计的流程图:
其中时间的统计中如果识别成功就要扣掉上一次识别时间(从记录开始到图像识别成功实践)
而对于识别的图片,一定要截取动态加载元素的图片,这个才是决定一个页面是否全部加载完成的时间;
对于采用自动化appium,scrcpy,opencv的工具,最大误差在80-120ms之间;
以上,就是整体关于4399AT页面加载功能的演示,可以通过版本对比或者精品对比,来确认是否优化;如对我分享的资料感兴趣或者对您有益处,请多多分享,点赞;