Android      使用adb对多台Android手机进行自动化测试的一种设计   
文章目录  [隐藏]

被测试手机:Android6.0,非root,须要考虑动态权限的处理。
控制程序:对多台手机进行群控,使每个手机自己进行测试流程,并返回执行结果(可能是象征性的结果)。

一.示例设计

1.《让微信自动加好友》

首先,有几个陌生的微信号,
然后,将微信号发给不同的手机,
接着,每个手机去自动切换Activity点击目标控件搜索微信号加好友,
下一步,手机再接收下一个微信号重复查找加好友,
最后,全部手机处理完毕后汇总,结束程序。

2.技术方案(Java)

手机和电脑通过usb连接。
首先,手机端基于UiAutomator2开发测试app,其中实现加好友的脚本,
然后,在电脑上开发控制程序,通过adb shell向手机发指令,启动测试脚本。

UiAutomator2

这里使用UiAutomator2进行非root下的执行测试,关于它就不介绍了。

若干关键api:


adb shell

常用adb指令

群控的处理

adb指令是阻塞的,所以不能向手机A发了指令又向手机B发。但通过子线程可以同时执行多个adb指令,所以,为每个手机指令开辟一个子线程就能实现多个手机同时进行测试用例。
Rxjava是非常理想的方式,异步开始,同步结束。flatMap函数可以异步开始多个任务,每个任务开始一个手机的测试指令。


end

承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设