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,这个 ...
随机推荐
- Linux程序存储结构与进程结构 堆和栈的差别
摘要:本文主要讲述了Linux系统中.程序存储结构(代码区.数据段和BBS区)与进程的基本结构(代码区.数据段.BBS区.堆和栈).以及堆和栈的差别. Linux程序存储结构与进程结构 1.Linux ...
- LaTeX 中换段落
中文文章中,LaTeX 中换段落: 在LaTeX 中,一个回车表示一个空格,两个回车表示一个分段.
- bootstrap 网格系统学习
Bootstrap 官方文档中有关网格系统的描述: Bootstrap 包含了一个响应式的.移动设备优先的.不固定的网格系统,可以随着设备或视口大小的增加而适当地扩展到 12 列.它包含了用于简单的布 ...
- 基于easyui fom分组插件
本插件适用于表单按属性分组,可以动态设置显示的列数,每一个表单宽度,表单类型,以及对齐.不同panel之间的表单也是对齐的. 效果: 依赖:jquery ,easyui, 实现过程:整个控件一个pan ...
- java基础讲解12-----Swing
package com.swing; import java.awt.*; import javax.swing.*; public class Swing01 extends JFrame{ /* ...
- SQL&EF优化第一篇 各种情况下的性能测试之count函数篇
测试环境 mssql 08 +win7 数据 30W条 二〇一六年十月二十九日 09:04:43 结论:1>主键> *>可空列 推测未论证: 根据情况优先选择 顺便提 ...
- 将ViewState放在Session里(转载)
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Ent ...
- react-native在win10下用adb报错的解决方案
react-native在WIN10上面运行用adb链接模拟器,会直接在powershell里报错, 报错大概意思是识别不了adb这个cmdlet函数. 找了很久的解决办法,直接找到adb.exe所在 ...
- CSRF学习笔记之CSRF的防御【00x4】
referer 验证 根据HTTP协议,在http请求头中包含一个referer的字段,这个字段记录了该http请求的原地址.通常情况下,执行转账操作的post请求www.bank.com/trans ...
- ExtFormReturn,ext
package cn.edu.hbcf.common.vo; public class ExtFormReturn { /** * 是否成功 */ private boolean success; / ...