Android之UI Automator框架源码分析(第一篇:简要介绍与学习计划)

什么是Uiautomator?

Uiautomator的正式名称是UI Automator(官网),Uiautomator是它的别称,它是Google提供的界面功能自动化测试框架,该测试框架的特性是支持跨应用的UI功能自动化测试,另外在单个App下也能很好的胜任功能自动化测试工作,该测试框架也常常被称为轻型框架,这是因为我们需要学习UI Automator的常用类很少,本系列文章将会全面学习UI Automator测试框架的方方面面,打通任督二脉……

什么是uiautomatorviewer?

uiautomatorviewer是跟随UI Automator测试框架提供的View树的查看器工具,它可以查看当前View树上每一个控件的属性,每当你使用UI Automator测试框架编写自动化测试代码时,一定会使用uiautomatorviewer工具去查看View树,uiautomatorviewer工具不是唯一查看View树的工具,我们还可以使用Android Studio中内置的Layout Inspector工具

Uiautomator测试框架的设备兼容性

Uiautomator测试框架可以搭载在Android 4.3(API 级别 18)或更高版本的设备上运行

Uiautomator测试框架的历史

早期的Uiautomator测试框架,每次都需先构建Jar包,随后再将jar包通过adb工具push到手机目录中,再通过adb shell命令行去启动,那时它真的很繁琐,也被称作Uiautomator1.0版。现在的UI Automator测试框架的最新版本是2.2.0,新版本的Uiautomator测试框架已经废弃原有的启动方式,我们即可以使用Android Studio的GUI窗口运行、也可以使用adb shell am instrument命令行启动、或者使用gradlew命令行启动、三种运行方式各有利弊,本系列的后续文章将会对每一种执行方式进行阐述。当前笔者写作时,官方最新的依赖库版本是androidx.test.uiautomator:uiautomator:2.2.0

Uiautomator测试框架的好处

1、代码内置在/src/androidTest/java下,测试开发工程师与功能开发工程师均可无门槛的用于冒烟、回归测试,期待让手工测试永远只在新功能上执行一次,旧功能回归测试则全部交给自动化测试

2、官方稳定的技术支持,不用担心Android版本适配

3、支持跨应用操作界面功能

4、测试驱动开发的插桩测试利器,没有之一

5、可以运行在Firebase平台,让云台零距离

 

学习计划

1、熟悉UIautomator测试框架的基本搭建

2、熟悉API文档

Android之UI Automator框架源码分析(第一篇:简要介绍与学习计划)_第1张图片

3、熟悉Uiautomator的各种实现原理

启动过程、控件定位器、控件操作、控件等待行为等等

4、熟悉Uiautomator的并发执行、Uiautomator的报告

5、最后打通Uiautomator测试框架源码每一个细节

6、熟悉完整的UI Automator自动化项目(引入Page Object Pattern、引入调用链)

 

相关资料

https://developer.android.google.cn/training/testing/ui-automator?hl=zh_cn 官方介绍Uiautomator框架

https://developer.android.google.cn/training/testing/ui-testing/uiautomator-testing?hl=zh_cn 测试多个应用的界面

https://github.com/android/testing-samples 官方Demo

https://developer.android.google.cn/reference/androidx/test/uiautomator/package-summary?hl=zh_cn Uiautomator框架API文档

https://developer.android.google.cn/reference/androidx/test/ext/junit/runners/AndroidJUnit4?hl=zh_cn AndroidJunit4文档

你可能感兴趣的:(Android,开发业务)