Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.3——使用Robotium进行功能测试
问题:
你想要使用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
Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.3——使用Robotium进行功能测试的更多相关文章
- Android开发工具全面转向Android Studio(3)——AS project/module的目录结构(与Eclipse对比)
如果AS完全还没摸懂的,建议先看下Android开发工具全面转向Android Studio(2)——AS project/module的CRUD. 注:以下以Windows平台为标准,AS以目前最新 ...
- Android开发工具全面转向Android Studio(2)——AS project/module的CRUD
本文有些地方可能需要衔接Android开发工具全面转向Android Studio(1)——准备开发环境,读起来效果会更好. 这个世界很奇妙,所有的东西离不开CRUD,即增删改查.即使人本身也遵循这个 ...
- 配置cordova的android开发环境(无android studio)
原文:配置cordova的android开发环境(无android studio) 趁元旦放假想试一下cordova,不想安装庞大的android studio,所以想最小化安装,居然花了一整天的时间 ...
- 收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。
AndroidDevTools Android Dev Tools官网地址:www.androiddevtools.cn 收集整理Android开发所需的Android SDK.开发中用到的工具.An ...
- Eclipse搭建Android开发环境并运行Android项目
Eclipse搭建Android开发环境并运行Android项目 (详细) 安装环境: window 10 64位 安装工具: JDK.Eclipse.SDK.ADT 安装步骤: 1.JAVA JDK ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)6.2——DSL文档
问题: 你需要查找Android Gradle DSL的完整文档. 解决方案: 访问Gradle Tools网站,从Android开发网站下载ZIP文件. 讨论:Android开发网站首页有完整的AP ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.1——单元测试
问题: 你想要测试app中的非android部分. 解决方案: 可以使用Android Studio1.1里面增加的单元测支持和Android的Gradle插件. 讨论: ADT插件只支持集成测试,并 ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.3——用Eclipse ADT导出App
问题: 想在一个已经存在的Eclipse ADT的项目中使用Gradle 解决方案: Eclipse ADT插件可以帮助生成Gradle文件 讨论: Eclipse的ADT插件是在2013年推出Gra ...
- Android开发:《Gradle Recipes for Android》阅读笔记1.2
在android开发中会需要配置使用app的android SDK的最低版本和目标版本,这个是bulidl.gradle的android模块设置.默认有以下几个设置: applicationId,这个 ...
随机推荐
- JavaScript(三)-- DOM编程
JavaScript编程中最基本的就是DOM编程,DOM是 Document Object Model文本对象模型,就是对DOM对象进行编程的过程. Java语言和Js都有针对于DOM的编程,两者类似 ...
- java基础讲解13-----集合
一:集合介绍 import java.util.ArrayList;import java.util.Collection;import java.util.Iterator; public clas ...
- Android与JS进行交互传文件路径
webview+h5这种混合开发最近很火,其中最重要的大概就是java代码和js的交互了,刚接触这东西两天,写写收获. 新建一个assets文件夹,要与res这个文件夹同级,其中存放web项目. 先看 ...
- 本体论与OWL
http://semanticweb.org/wiki/Main_Page.html http://owl.man.ac.uk/documentation.shtml https://zh.wiki ...
- BAT特殊字符(转)
BAT特殊字符1. 点 与echo连用,作用是换行 示例1 [输出空行] echo. 2 > 定向符[输出] 将命令的输出进行重定向 [一般用于将结果写入文件] 注意 nul 为空设备 > ...
- unity, remove a scene from build settings
把scene添加到build settings的scenes in build列表里以后,如果想删除,没有菜单可用,但选中按delete即可. 参考:http://answers.unity3d.co ...
- Failure [INSTALL_FAILED_OLDER_SDK] [每件问题100块]
问题描述:链接真机时候出现的问题 解决问题: minSdkVersion 10targetSdkVersion 22 修改这两个值
- jcifs 具体解释读取网络共享文件数据
时隔1年半,没有发过新的帖子了,也没怎么来过CSDN逛逛了,人也懒散了. 今天收到网友的提问,才回来看看.认为应该再写点什么出来.只是.发现自己研究是不是太深入,写不出那么高深的东西.那就写点肤浅的东 ...
- [ tarjan + dfs ] poj 2762 Going from u to v or from v to u?
题目链接: http://poj.org/problem?id=2762 Going from u to v or from v to u? Time Limit: 2000MS Memory L ...
- QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
http://blog.csdn.net/zhuyingqingfen/article/details/6562246 如题,出现这个的原因是,如果你的窗口继承的是QMainwindow,需要设置 s ...