赞
踩
创建基于UI Automator测试框架的Ui自动化项目,常见的方案有3种,你可以任选其一,各有利弊,极力推荐第二种方案!
UiAutomator自动化的测试代码直接编写在App工程中的app模块的src/androidTest目录下,举个例子:假设被测App是微信,此时我们的测试代码直接编写在微信App工程里的app模块中src/androidTest目录下,此时与研发同学共用一个仓库!!Google内部大量采用的是这种方式!
创建一个完全独立的App工程,将UI Automator的测试代码存放在app module下的src/androidTest目录下。举个例子:假设被测App是微信,此时我们的测试代码并不在微信App的工程里,而是写在一个完全独立的工程中,好处是不与研发的项目代码在一起管理……
测试代码编写在App工程内,但不在app模块的src/androidTest目录下编写测试代码,而是以单独的module而编写。举个例子:假设被测App是微信,此时我们的测试代码编写在微信App工程里的一个单独的module中!如果你有多个App要测试,且决定所有的App复用部分代码,用这个方案比较好!
一路Finish,完成App项目的创建
打开app模块的build.gradle文件
配置UI Automator的远程依赖库,在dependencies闭包中添加以下代码
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'androidx.test:core:1.3.0-alpha04'
- androidTestImplementation 'androidx.test.ext:junit:1.1.2-alpha04'
- androidTestImplementation 'androidx.test:runner:1.3.0-alpha04'
- androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
远程依赖库截图
打开app模块的build.gradle文件
在android闭包中的defaultConfig闭包中添加如下一行代码(Android Studio已帮你自动添加)
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
测试代码全部放在androidTest目录下,第一次展开该目录时,你会看到一个ExampleInstrumentedTest.java文件,它是自动生成的Demo代码文件,直接删除即可
基于Page Object Pattern,也称为Page Object Model,缺点是创建的类特别多……
最外层目录:
common包:存放通用代码:配置信息类、常量类等
page包:存放表示页面的类,每个对象代表一个页面
suite包:存放测试套件类,用于组织每个测试用例类
testcase包:用于存放测试用例类,每个测试用例类中都定义了一个或者多个测试用例方法
util包:用于存放各种工具类,二次封装的控件查找、操作控件方法
GlobalManager类:单例对象,负责持有UiDevice(设备对象)、持有Context(被测应用上下文对象)、持有Configurator(配置对象)
本文的测试代码项目结果为初期版本,后续文章会阐述更多,我将使用微信App作为自动化测试demo作为展示……敬请期待!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。