前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Uiautomator2.0

Uiautomator2.0

原创
作者头像
霍格沃兹测试开发Muller老师
发布2022-06-13 18:47:59
6140
发布2022-06-13 18:47:59
举报
文章被收录于专栏:muller的测试分享

简介

Google Android Developers 在2015年3月就发布了UiAutomator 2.0版本。

重大特性

1.U2 基于 Instrumentation,使用Instrumentation test runner即可运行UiAutomator,反之,也即在基于Instrumentation的test中也能使用UiAutomator; 可以获取应用Context,可以使用Android服务及接口。

2.Log日志输出变更。U1可以使用System.out.print输出流回显至执行端,而U2输出到Logcat。

3.Uiautomator1.0与2.0包名不一致 com.android.uiautomator.core. -> android.support.test.uiautomator。

4.基于 Junit4,测试用例无需继承于任何父类,方法名不限,使用Annotation进行; U1需要继承UiAutomatorTestCase,测试方法需要以test开头。

5.与U1的Maven或Ant构建方式不同,U2采用Gradle进行构建; U2输出为APK,Android工程,而U1为Java工程,输出jar包。

6.新增UiObject2、Until、By、BySelector等接口, 详细请参考官方文档。 其中,U2必须明确EditText框才能向里面输入文字,U1直接指定父类也可以在子类中输入文字。

<section>

</section>

启动命令变化<br style="box-sizing: border-box;"/>

注意事项

必须与被测应用签名一致,且系统安装被测应用的情况下执行测试用例。

获取参数

u2测试框架基于apk,拥有权限类似APP,无法执行dump等shell权限操作。

可以通过系统签名、root、

device.executeShellCommand(注意只支持API 21+)、Java守护进程方式执行。

在Android 4.4手机出现

NoClassDefFoundError问题,

Instrumentation

消息为

INSTRUMENTATION_RESULT: longMsg=java.lang.NoClassDefFoundError:

org.junit.runner.manipulation.Filter$1 解决: MultiDex手动拆包A ,

配置如下:<br style="box-sizing: border-box;"/>

uiautomator2.0 应用

使用AndroidStudio创建项目时会自动引入相关依赖等工作,新建工程只要在对应目录下编写测试用例即可执行。如需手动配置,操作步骤如下:

项目集成

配置gradle文件,引入依赖包

用例编写

在modle/src/androidTest/java/packageName下创建用例(新建应用会自动构建一条测试用例,可以直接运行,否则需要手动创建如上目录及用例文件)

用例执行

1、通过gradle project -> module-> tasks -> build -> assembleAndroidTest 构建Android测试apk,然后安装。

2、通过命令如下命令启动测试用例

Api UiDevice

1.UiDevice代表设备状态,为单例模式。

UiDevice的功能包括:

①获取设备信息:屏幕分辨率,旋转状态,亮灭屏状态等

②操作:案件,坐标操作,滑动,拖拽,灭屏唤醒屏幕,截图等

③监听器功能

2.UiDevice写法有两种,推荐第一种方式,第二种可能会引起某些问题而导致无法运行。

①UiDevice.getInstance().pressHome();

②getUiDevice().pressHome();

按键相关的API,常用的按键包括HOME,MENU,BACK,VOLUME_UP,VOLUME_DOWN,RecentApps,POWER等

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档