Robotium自动化测试(“半”架构)

例子使用android studio,网上下载oschina的源码(使用2.6.6版本,2.6.9版本有些依赖下不下来会报错)

使用android studio打开oschina源码

Robotium自动化测试(“半”架构)_第1张图片
打开oschina源码

然后按照提示修改各个配置(keystore、jdk)

1.修改keystore。

Robotium自动化测试(“半”架构)_第2张图片
配置

在android-app下的build.gradle配置。配置完后点右上角的Try Again

Robotium自动化测试(“半”架构)_第3张图片
keystore

2.jdk。本地未安装android-24,所以未匹配到

Robotium自动化测试(“半”架构)_第4张图片
android-24

点击提示信息的链接,android studio会帮助下载

Robotium自动化测试(“半”架构)_第5张图片
下载android-24

配置完,项目结构会发生变化(文件重新摆放位置了)。

在gradle下的build.gradel(Module:app)的文件-Dependencies下添加robotium依赖

Robotium自动化测试(“半”架构)_第6张图片
添加robotium依赖

因为现在最新版本是2.6.9,所以为了防止每次打开app会弹出升级提示,我们把版本号更改成最新版。gradle下的build.gradle(Project)。修改versionCode为2.6.9

Robotium自动化测试(“半”架构)_第7张图片
修改versionCode

每次有什么修改的时候,顶部都会有sync的提示。点一下更新即可

sync

没有报错就ok了。接下来开始写测试

在app-java-net.oschina.app(androidTest)中新建SoloWrap的类,用来重写solo类

Robotium自动化测试(“半”架构)_第8张图片
可能用到的方法

在app-java-net.oschina.app(androidTest)中新建文件夹Page。用来存放各个页面上的元素

Robotium自动化测试(“半”架构)_第9张图片
Page

目前只测试login,用的界面有底部的各个tab、我的界面、登录界面、设置界面

Robotium自动化测试(“半”架构)_第10张图片
Page

page页面:声明元素、初始化solo、初始化各个元素、可能使用到的元素。以下以登录界面为例,其他界面雷同

Robotium自动化测试(“半”架构)_第11张图片
PageMy

新建一个PageHelper的类,之后调用可以直接调用pageHelper。pageLogin.initViews是用来每次使用该页面的元素时重新获取页面元素的。在自动化测试中,一次获取到的元素只能被使用一次,如果下次要再使用,需要重新获取。

Robotium自动化测试(“半”架构)_第12张图片
pageHelper

新建一个Basic的类,用来声明公共的信息:比如公共的变量、setUp方法、tearDown方法。注:如果代码中有的方法被划上了删除线,是说该方法已经在新版本中废弃了,但是还是可以使用的

Robotium自动化测试(“半”架构)_第13张图片
Basic

开始写测试用例。新建一个文件夹testcase。用来存放各个用例的

Robotium自动化测试(“半”架构)_第14张图片
testcase

新建testSuite的文件夹。把测试用来集合起来

Robotium自动化测试(“半”架构)_第15张图片
testSuite

新建Runner的类。用来执行testSuite。使用默认的Runner(InstrumentationTestRunner)

Robotium自动化测试(“半”架构)_第16张图片
Runner

更改运行全部test,点击运行类旁的下拉菜单,选择Edit Configurations进入配置界面

Robotium自动化测试(“半”架构)_第17张图片
Edit Configurations

选择All in Module,输入包名+Runner

Robotium自动化测试(“半”架构)_第18张图片
Run Configurations

直接运行就可以了。

但是这种报告需要通过ide导出。所以引用JunitTestRunner

网上下载android-junit-report-1.5.8.jar,回到android studio,把模式更改为Project,把jar包拷贝到app-libs下,在该目录下选择jar包,右键选择add as library

Robotium自动化测试(“半”架构)_第19张图片
add as library

在build.gradle(app)下可以看到jar包被引进去了

Robotium自动化测试(“半”架构)_第20张图片
build.gradle(app)

把Runner类中的继承改成JunitReportTestRunner

Robotium自动化测试(“半”架构)_第21张图片
JunitReportTestRunner

JunitReportTestRunner的报告默认是保存在手机/data/data/package/files下,文件名为junit-report.xml

在命令行中运行命令,可以修改保存的位置和保存的文件名(如果手机没有权限进入/data/data目录的时候可以使用)先确认该app有写入到手机存储卡的权限

Robotium自动化测试(“半”架构)_第22张图片
AndroidManifest
cmd运行
pull

运行成功后把报告pull到pc就可以了

你可能感兴趣的:(Robotium自动化测试(“半”架构))