博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.3——使用Robotium进行功能测试...
阅读量:4659 次
发布时间:2019-06-09

本文共 959 字,大约阅读时间需要 3 分钟。

问题:

你想要使用Robotium库测试activity。

解决方案:

增加Robotium依赖,编写自己的测试脚本。

讨论:

Android Test Support Library提供类可以操作activity里的窗口部件,但是有更简单的方式操作Android UI。虽然这本书不是介绍测试的,但是可以很容易的将Robotium依赖增加到Gradle然后运行测试。

Robotium项目被描述成“像Selenium,但是为了Android”。这是一个自动化测试框架,可以很方便的为Android app编写出黑盒的UI测试。

只要在模块下面的Gradle配置文件里面增加Robotium的依赖:

考虑下面的叫做MyActivity的简单的activity,提示用户输入姓名,将它添加到Intent,打开WelcomeActivity欢迎用户:

Robotium提供了一个叫做com.robotium.solo.Solo,它包括了被测试的activity和Instrumentation对象。它允许你增加文字,点击按钮,和更多的操作,而不用担心是不是在UI线程。下面展示了一个在activity上的例子:

Robotium测试继承自ActivityInstrumentationTestCase2。Solo实例和activity一起被初始化。测试使用Solo类的方法,像enterText,clickOnButton或者searchText。

使用Robotium唯一的缺点就是测试使用旧的JUnit3的结构,有预先定义的setUp和tearDown方法,所有测试必须符合public void testXYZ格式。相对的,易于书写的测试还是很突出的。

测试类像其它Android测试易于存放在androidTest结构下面。通过connectedCheck任务在所有模拟器和连接的设备上执行。

 

下面显示在两个模拟器上运行的结果:

点击“Devices”按钮显示从device角度显示相同的结果:

Robotium的Github地址:https://github.com/robotiumtech/robotium

转载于:https://www.cnblogs.com/tootwo2/p/6486545.html

你可能感兴趣的文章
三阶魔方公式
查看>>
BP算法
查看>>
P1855 榨取kkksc03
查看>>
JAVA运行时动态加载类
查看>>
linux ifconfig -a
查看>>
MySql通过数据库文件恢复数据库
查看>>
ASP.NET网站和ASP.NET应用程序的区别
查看>>
Codeforces633G(SummerTrainingDay06-I dfs序+线段树+bitset)
查看>>
iOS判断手机某个App是否存在和常用scheme
查看>>
6 实现微信公众号 自动回复功能
查看>>
51Nod 1212无向图最小生成树
查看>>
hdu 4542 小明系列故事——未知剩余系
查看>>
Symbian UI 架构分类
查看>>
SVM入门(三)线性分类器Part 2
查看>>
mysql 执行 cannot found mac安装mysql的两种方法(含配置)
查看>>
BZOJ 1984: 月下“毛景树”( 树链剖分 )
查看>>
Properties类、序列化流与反序列化流
查看>>
Swift学习笔记一:与OC的区别
查看>>
七牛容器实操
查看>>
理解 YOLO
查看>>