Android移动应用开发测试-第2节-UI Automator2.0的详细解释和初步使用

1.UI Automator2.0的详细解释

UIAutomator是android的自动化测试框架,可跨APP。与instrumentation框架不同,UIAutomator不需要测试对象源码,因此,为黑盒测试框架。同时,与Monkey不同,UIAutomator不以坐标为主线,而是通过控件属性过滤(比如搜索文本为“提交”的按钮),获取控件本身。这很像小时候玩红白机游戏所用的金手指软件。
UIAutomator的缺点是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。
更多详细内容可参考UIAutomator的官方文档

2.UI Automator2.0的初步使用

我们使用Android Studio创建一个UIAutomator2.0的工程。 而过程,只需要两步。

(a)创建一个简单的Android项目(有无Activity无所谓,即便就一个Hello Activity也行)。
(b)在对应module的build.gradle文件中,添加对uiautomator的dependends引用(将下面的引用语法字段放入Gradle Scripts的Module.app的build.gradle的dependencies{}中,注意:就如截图中显示的一样,当你参照我的下面的引用语法字段时,可能UI Automator有新的版本了,你可以根据提示来使用新的版本)

implementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3'

在这里插入图片描述
注意,我们根据Android Studio默认创建的一个新的Android工程的minSdkVersion默认是15,即会导致我们现在引入了uiautomator依赖的工程无法Build通过,刚才博主就在这卡了20分钟,如果你的Android项目引入了uiautomator依赖后Build报错,很有可能是这个问题。
在这里插入图片描述
其实,不管我们需不需要对这个项目进行测试,不管我们是否在对应module的build.gradle文件中,添加对uiautomator的dependends引用,我们在Android Studio中创建一个新的项目时,Android Studio总是会为我们创建一个测试样例ExampleInstrumentedTest。
在这里插入图片描述
其中我们来解读一下Android Studio为我们创建一个测试样例的代码
在这里插入图片描述
我们就用运行在当前Android Studio的APP作为测试对象实现两个最简单测试操作:打开APP、关闭APP。
那么,我们需要做哪些准备?
(a)获取packageName
(b)获取设备用例
(c)判断设备状态
(d)操作APP

更多详细步骤参考Android UiAutomator 2.0 入门实战-第一个测试工程

本文参考来源:
[1]UIAutomator2.0详解(入门篇):https://blog.csdn.net/daihuimaozideren/article/details/78331673
[2]Android UiAutomator 2.0 入门实战-第一个测试工程:https://www.imooc.com/video/17037

发布了120 篇原创文章 · 获赞 141 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/wq6ylg08/article/details/91347989
今日推荐