Robotium是一款基于控件的Android自动化测试框架

环境搭建(window):

安装JDK以及集成Android Sdk的eclipise。

入门:

1,下载Robotium Solo 5.1,点我下载

2,开启eclipse,并导入工程(代码在最下面)

3,创建测试工程

new --- project --- Android Test Project

4,输入测试工程名,然后点击next

5,选择被测工程TButton,并点击finish

6,在测试工程中创建libs文件夹(有的教程是创建lib的文件夹的,这里需要说明一下,如果是比较新的ADT的话,项目根下新建一个libs目录,把jar包放在哪个目录里,会自动添加到build path里去,只有就能正确引用到了。)

7,将下载的robotium-solo-5.1.jar文件拷到libs文件夹

8,将测试工程中的AndroidManifest.xml文件修改如下(一般情况下,创建完工程会自动添加的,若没有请自行添加)

9,创建junit test case,选择junit4,并输入类名,点击finish

10,打开新建的测试类,修改继承ActivityInstrumentationTestCase2,并创建该类的构造函数,引用方法setUp()和tearDown()

11,编写完测试用例后,连上设备,右击测试类,选择Android junit Test,此时就会开始执行测试用例了。

Ps:如果运行时,报如下错误

则是因为没有引入juint,查看配置里面是否勾选了junit。

Project --> Properties --> Java Build Path --> Order and Export

测试用例源码:

  1. package com.tangbc.tbutton.test;
  2. import org.junit.Test;
  3. import android.test.ActivityInstrumentationTestCase2;
  4. import com.robotium.solo.Solo;
  5. import com.tangbc.tbutton.MainActivity;
  6. public class TButtonTest  extends ActivityInstrumentationTestCase2{
  7. private Solo solo;
  8. public TButtonTest() {
  9. super(MainActivity.class);
  10. }
  11. @Override
  12. protected void setUp() throws Exception {
  13. solo = new Solo(getInstrumentation(),getActivity());
  14. }
  15. @Override
  16. protected void tearDown() throws Exception {
  17. solo.finishOpenedActivities();
  18. }
  19. @Test
  20. public void test() {
  21. //solo.clickOnMenuItem("Settings");
  22. for (int i = 0; i < 10; i ++){
  23. solo.clickOnButton("原始数据");
  24. }
  25. solo.clickOnButton("跳转");
  26. solo.goBack();
  27. solo.clickOnButton("原始数据");
  28. }
  29. }

被测工程源码:

主页面:

  1. package com.tangbc.tbutton;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.Menu;
  6. import android.view.View;
  7. import android.view.View.OnClickListener;
  8. import android.widget.Button;
  9. import android.widget.TextView;
  10. public class MainActivity extends Activity {
  11. private Button button;
  12. private TextView textView;
  13. private static int i = 0;
  14. private Button skipButton;
  15. @Override
  16. protected void onCreate(Bundle savedInstanceState) {
  17. super.onCreate(savedInstanceState);
  18. setContentView(R.layout.activity_main);
  19. button = (Button)findViewById(R.id.button);
  20. textView = (TextView)findViewById(R.id.textView);
  21. button.setOnClickListener(new ButtonListener());
  22. skipButton = (Button)findViewById(R.id.skipbutton);
  23. skipButton.setOnClickListener(new SkipButtonListener());
  24. }
  25. class ButtonListener implements OnClickListener{
  26. @Override
  27. public void onClick(View v) {
  28. i++;
  29. System.out.println(i);
  30. textView.setText(String.valueOf(i));
  31. }
  32. }
  33. class SkipButtonListener implements OnClickListener{
  34. @Override
  35. public void onClick(View v) {
  36. Intent intent = new Intent();
  37. intent.setClass(MainActivity.this, SceondAcitvity.class);
  38. startActivity(intent);
  39. }
  40. }
  41. @Override
  42. public boolean onCreateOptionsMenu(Menu menu) {
  43. // Inflate the menu; this adds items to the action bar if it is present.
  44. getMenuInflater().inflate(R.menu.main, menu);
  45. return true;
  46. }
  47. }

副页面:

  1. package com.tangbc.tbutton;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. public class SceondAcitvity extends Activity{
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.second);
  10. Intent intent = getIntent();
  11. }
  12. }

本文参考:http://www.robotium.cn/archives/210

【转:http://blog.csdn.net/tt75281920/article/details/25967351】

Robotium---环境搭建及入门示例的更多相关文章

  1. jenkins 环境搭建与入门示例

    环境说明: 1.win7 2.tomcat 9.0.0.M17 3.jenkins 2.32.2.war jenkins 环境搭建 1.下载jenkins部署包 https://jenkins.io/ ...

  2. 安卓自动化测试(2)Robotium环境搭建与新手入门教程

    Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单 ...

  3. Cesium入门2 - Cesium环境搭建及第一个示例程序

    Cesium入门2 - Cesium环境搭建及第一个示例程序 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 验 ...

  4. Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通

    原文:Android菜鸟的成长笔记(1)--Android开发环境搭建从入门到精通 今天在博客中看到好多Android的初学者对Android的开发环境的搭建不熟悉而导致不能进行学习,所以我决定自己写 ...

  5. Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】

    http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...

  6. (十八)整合Nacos组件,环境搭建和入门案例详解

    整合Nacos组件,环境搭建和入门案例详解 1.Nacos基础简介 1.1 关键特性 1.2 专业术语解释 1.3 Nacos生态圈 2.SpringBoot整合Nacos 2.1 新建配置 2.2 ...

  7. 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子

      本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...

  8. robot framework环境搭建和简单示例

    环境搭建 因为我的本机已经安装了python.selenium.pip等,所以还需安装以下程序 1.安装wxPythonhttp://downloads.sourceforge.net/wxpytho ...

  9. Mybatis学习笔记之一(环境搭建和入门案例介绍)

    一.Mybatis概述 1.1 Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了go ...

随机推荐

  1. ANDROID_MARS学习笔记_S04_008_用Listview、自定义adapter显示返回的微博数据

    一.简介 运行结果 二.代码1.xml(1)activity_main.xml <?xml version="1.0" encoding="utf-8"? ...

  2. lsof 拥有更多的功能

    lsof 拥有更多的功能# lsof -i 看系统中有哪些开放的端口,哪些进程.用户在使用它们,比 netstat -lptu 的输出详细. # lsof -i 4  查看IPv4类型的进程COMMA ...

  3. BZOJ_1269_文本编辑器_[AHOI2006]_(Spaly)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1269 和BZOJ_1507很像的题,多了一个反转操作,还是Splay简单区间操作的模板题. 1 ...

  4. HDOJ -- 1015

    1.DFS #include<cmath> #include<cstdio> #include<cstdlib> #include<string> #i ...

  5. PHP 获取时间的各种处理方式!

    今天写下php中,如何通过各种方法 获取当前系统时间.时间戳,并备注各种格式的含义,可灵活变通.1.获取当前时间方法date()很简单,这就是获取时间的方法,格式为:date($format, $ti ...

  6. Tsinsen A1504. Book(王迪) 数论,贪心

    题目:http://www.tsinsen.com/A1504 A1504. Book(王迪) 时间限制:1.0s   内存限制:256.0MB   Special Judge 总提交次数:359   ...

  7. OpenCL memory object 之 Global memory (1)

    本文转载自:http://www.cnblogs.com/mikewolf2002/archive/2011/12/17/2291239.html 这篇日志是学习AMD OpenCL文档时候的总结. ...

  8. SRM 446(1-250pt, 1-500pt)

    嗯....今天的500确实比较好 DIV1 250 模拟...略 // BEGIN CUT HERE /* * Author: plum rain * score : */ /* */ // END ...

  9. phpDesigner 7.2.5 注册码 更改 语法高亮 主题

    注册码: 用户名:www.xiazaiba.com 序列号:43AB0D432A29EE238CCE0F884D84D8A18498498E98298A98568AD05A0B40 验证码:7S2FF ...

  10. 编译 Spring-framework的经验分享

    Spring-framework source codegit url: git clone git://github.com/SpringSource/spring-framework.git 导入 ...