Open markexin opened 1 year ago
包名: androidx.test.uiautomator(基于JAVA) UI Automator 测试框架提供了一组 API,用于构建在用户应用和系统应用上执行交互的界面测试。 UI Automator 测试框架的主要功能包括:
当安装安卓 SDK tools 之后,会自动下载 uiautomator。UiAutomator 是Google提供的用来做安卓自动化测试的一个Java库,功能很强,可以对第三方App进行测试,获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作。但有两个缺点:
那么改进的方案就是在手机上运行了一个 HTTP PRC 服务,将uiautomator中的功能开放出来,然后再将这些http接口封装成Python库。
uiautomator2 测试框架的主要功能包括:
该框架的原理底层实现基于 uiautomator 的能力,打造一个web端 uiautomatorviewer。基于 uiautomator dump_hierarchy 将安卓xml获取后递归转换成JSON,然后提供接口服务给web页面。前端接收到请求后,如下图所示:
通用ADB链接手机后,该框架会对手机进行截屏,然后将截图以canvas的形式填充到页面上,在通用上图二中所示,同样以canvas描边的形式,将框体描绘出来。虽然和真正的 uiautomatorviewer 并不是一个东西,但是所展示的效果,和渲染后用户选择时的xpath id,是一致的。
知识梳理
软件测试分类
按测试阶段分类
按是否查看源代码划分
按是否运行划分
按是否自动化
展开说明
自动化测试意义
自动化测试
UI自动化测试
自动化测试工具
下图来源于 Appium,Appium 集大成者,提供了多媒体终端不同场景下的测试套件(Driver)。
UI Automator
包名: androidx.test.uiautomator(基于JAVA) UI Automator 测试框架提供了一组 API,用于构建在用户应用和系统应用上执行交互的界面测试。 UI Automator 测试框架的主要功能包括:
当安装安卓 SDK tools 之后,会自动下载 uiautomator。UiAutomator 是Google提供的用来做安卓自动化测试的一个Java库,功能很强,可以对第三方App进行测试,获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作。但有两个缺点:
那么改进的方案就是在手机上运行了一个 HTTP PRC 服务,将uiautomator中的功能开放出来,然后再将这些http接口封装成Python库。
uiautomator2 测试框架的主要功能包括:
Weditor
该框架的原理底层实现基于 uiautomator 的能力,打造一个web端 uiautomatorviewer。基于 uiautomator dump_hierarchy 将安卓xml获取后递归转换成JSON,然后提供接口服务给web页面。前端接收到请求后,如下图所示:
通用ADB链接手机后,该框架会对手机进行截屏,然后将截图以canvas的形式填充到页面上,在通用上图二中所示,同样以canvas描边的形式,将框体描绘出来。虽然和真正的 uiautomatorviewer 并不是一个东西,但是所展示的效果,和渲染后用户选择时的xpath id,是一致的。