Robotium环境搭建与新手入门教程

  1. java基础知识,如基本的数据结构、语法结构、类、继承等
  2. 对Android系统较为熟悉,了解四大组件,会编写简单的Android应用程序
  3. 熟悉Eclipse IDE使用方法
  4. 有足够的耐心与探索精神,遇到问题可以熟练的Google
  • 环境搭建

  1. 安装jdk,配置环境变量,如果不会请自行Google
  2. 下载安装Android SDK,并更新
  3. 下载Eclipse,并安装ADT插件,集成Android SDK
  • Robotium新手入门

  1. 下载Robotium官方例子以及最新的JAR
  2. 打开Eclipse导入被测试工程

    点击查看大图

  3. 创建测试工程:选择Android Test Project,并点击下一步

    点击查看大图

  4. 输入工程名,并点击下一步

    点击查看大图

  5. 选择被测工程NotePad,并点击完成

    点击查看大图

  6. 在测试工程中新建lib文件夹

    点击查看大图

  7. 将下载好的Robotium jar包拷入lib中,并在build path中将jar包引入工程

    点击查看大图

  8. 打开测试工程中的manifest.xml文件,修改如下

    点击查看大图


  1. 新建junit test case,选择junit4,并输入类名,点击完成

    点击查看大图

  2. 打开新建的测试类,修改继承ActivityInstrumentationTestCase2<NotesList>,创建构造方法,并编写测试代码,具体如图

    点击查看大图

01 package com.example.android.notepad.test;
02  
03 import android.test.ActivityInstrumentationTestCase2;
04  
05 import com.example.android.notepad.NotesList;
06 import com.jayway.android.robotium.solo.Solo;
07  
08 public class NotePadTest extendsActivityInstrumentationTestCase2
09 {
10     private Solo solo;//声明Solo
11     public NotePadTest()//构造方法
12     {
13         super(NotesList.class);
14  
15     }
16  
17     @Override
18     public void setUp() throws Exception
19     {
20         solo = new Solo(getInstrumentation(), getActivity());
21     }
22  
23     @Override
24     public void tearDown() throws Exception
25     {
26         solo.finishOpenedActivities();
27     }
28  
29     public void testAddNote() throws Exception
30     {
31         //点击add note按钮
32         solo.clickOnMenuItem("Add note");
33         //比对结果
34         solo.assertCurrentActivity("Expected NoteEditor activity""NoteEditor");
35         //在第一个TextEdit控件上输入内容
36         solo.enterText(0"Note 1");
37         //返回上个界面
38         solo.goBack();
39         //点击菜单中的Add note
40         solo.clickOnMenuItem("Add note");
41         //在第一个EditText中输入内容
42         solo.enterText(0"Note 2");
43         //返回NotesList activity
44         solo.goBackToActivity("NotesList");
45         //截屏
46         solo.takeScreenshot();
47         boolean expected = true;
48         boolean actual = solo.searchText("Note 1") ; solo.searchText("Note 2");
49         assertEquals("Note 1 and/or Note 2 are not found", expected, actual);
50  
51     }
52  
53 }
  1. 编写完成后,打开模拟器或者连接上真机,右击测试类,选择Android junit Test

    点击查看大图

  2. Eclipse会切换到junit界面,此时模拟器(真机)会自动执行测试,通过左边界面可以看到运行结果

    点击查看大图

  3. 一个简单的测试就结束了。如果你没有遇到问题,那么恭喜你继续更深一步学习,如果你遇到问题了,不要急~请先确保你的操作过程没有出任何错误,其次我列出你可能遇到的错误,如果还是没有解决请Google或者联系我们

1、最常见的:java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo

解决方法:如图操作后再clean工程

安卓自动化测试(2)Robotium环境搭建与新手入门教程的更多相关文章

  1. gulp环境搭建,gulp入门教程

    gulp常用地址: gulp官方网址:http://gulpjs.com gulp插件地址:http://gulpjs.com/plugins gulp 官方API:https://github.co ...

  2. Grunt JS构建环境搭建以及使用入门

    Grunt JS构建环境搭建以及使用入门 1.应用场景 一种自动化任务处理工具,对于日常的需求(代码规则检查.代码合并)可以实现自动化执行,只需要保留package.json和Gruntfile.js ...

  3. scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld

    scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld 学习了: http://blog.csdn.net/wangmuming/article/details/3407911 ...

  4. gulp的使用以及Gulp新手入门教程

    Gulp新手入门教程 原文  http://w3ctrain.com/2015/12/22/gulp-for-beginners/ Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭 ...

  5. 【LaTeX】E喵的LaTeX新手入门教程(4)图表

    这里说的不是用LaTeX画图,而是插入已经画好的图片..想看画图可以把滚动条拉到底.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础 ...

  6. 【LaTeX】E喵的LaTeX新手入门教程(3)数学公式

    昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er ...

  7. 【LaTeX】E喵的LaTeX新手入门教程(1)准备篇

    昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er ...

  8. 【LaTeX】E喵的LaTeX新手入门教程(2)基础排版

    换了块硬盘折腾了好久..联想的驱动真坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇文档框架嗯昨天我们已经编写了一个最基本的文档,其内容是这样的:\documentclass{ar ...

  9. 【LaTeX】E喵的LaTeX新手入门教程(3)

    [LaTeX]E喵的LaTeX新手入门教程(3) 数学公式作者: 郭英东.sty 昨天熄灯了真是坑爹.前情回顾 [LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新 ...

随机推荐

  1. ARPSpoofing教程(四) - 捕获并分析数据包

    本程序的主要目标是展示如何解析所捕获的数据包的协议首部. 这个程序可以称为UDPdump,打印一些网络上传输的UDP数据的信息. 1: #include"pcap.h" 2: ty ...

  2. Change MYSQL data directory

    For example, change mysql data directory from /var/lib/mysql to /var/data/mysql Step1: Copy the /var ...

  3. ubuntu默认防火墙

    ubuntu 9.10默认的是UFW防火墙,已经支持界面操作了.在命令行运行ufw命令就可以看到提示的一系列可进行的操作. 最简单的一个操作:sudo ufw status可检查防火墙的状态,我的返回 ...

  4. Linux环境下发布项目(Tomcat重新启动)

    在Linux系统下,重启Tomcat 首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh 查看Tomcat是否 ...

  5. C# “配置系统未能初始化” 异常解决

    使用App.config配置参数,读取参数出现错误 “System.Configuration.ConfigurationErrorsException”类型的未经处理的异常在 System.Conf ...

  6. 解惑好文:移动端H5页面高清多屏适配方案 (转)

    转自:http://mobile.51cto.com/web-484304.htm https://github.com/amfe/lib-flexible/blob/master/src/makeg ...

  7. MathType中如何批量修改公式字体和大小

    MathType中如何批量修改公式字体和大小 关于MathType : MathType 是由美国Design Science公司开发的功能强大的数学公式编辑器,它同时支持Windows和Macint ...

  8. 创建menu文件

    一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...

  9. C# 6.0可能的新特性

    C# 6.0可能的新特性 1.主构造函数(Primary Constructors) 主构造函数给类中的变量赋值 Before public class Point { private int x, ...

  10. rehat 出现GDB debuginfo-install 问题处理

    本人使用rhel 6    GDB 调试代码时,出现以下错误: Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.166 ...