Robotium---环境搭建及入门示例

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

测试用例源码:

[java] view plaincopy

  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. }

被测工程源码:

主页面:

[java] view plaincopy

  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. }

副页面:

[java] view plaincopy

  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】

时间: 2024-11-05 16:32:04

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

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

Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单的Android应用程序 熟悉Eclipse IDE使用方法 有足够的耐心与探索精神,遇到问题可以熟练的Google 环境搭建 安装jdk,配置环境变量,如果不会请自行Google 下载安装Android SDK,并更新 下载Eclipse,并安装ADT插件,集成Android SDK Roboti

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

http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附详细代码] 标签: SparkECLIPSEJAVAMAVENwindows 2016-06-18 22:35 405人阅读 评论(0) 收藏 举报  分类: spark(5)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 前言 本文旨在记录初学Spark时,根据官网快速

1.2 lucene入门程序环境搭建及入门代码

 lucene入门程序环境搭建及入门代码 1.1      需求 使用lucene完成对数据库中图书信息的索引和搜索功能. 1.2      环境准备 l  Jdk:1.7及以上 l  Lucene:4.10(从4.8版本以后,必须使用jdk1.7及以上) l  Ide:indigo l  数据库:mysql 5 1.3      工程搭建 l  Mysql驱动包 l  Analysis的包 l  Core包 l  QueryParser包 l  Junit包(非必须) 创建po类 1 publ

[转]Robotium环境搭建中的Errors running builder &#39;Android Resource Manag

转自:http://blog.sina.com.cn/s/blog_68f262210102v75t.html 最近学习了Robotium测试框架,当然学习任何一个框架或是语言之前,第一步就是搭建环境.可是我在搭建环境的过程中,遇到了问题:创建一个Android test project项目后,会弹出一个对话框,报下在面的错误:Errors running builder 'Android Resource Manager' on project XXX 然后就在网上查找各种方法,目前网上有以下

[精华]springMVC环境搭建基础入门总汇!

1.SpringMVC概述 SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 Spring       FrameWork 的后续产品,已经融合在 Spring Web Flow 里面.Spring 框架提供了构建 Web 应用程序的全功 能 MVC 模块.使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring 的 Spring MVC 框架或集成其他 MVC 开发框架,如

Apple的UIAutomation环境搭建和入门知识

简述 Xcode的instruments中的Automation是为了实现自动化测试的一个工具.实现方式有两种:它提供了两种实现方式, 1)     是通过JS脚本语言来执行自动化测试(普通自动化测试), 2)     另一种是通过录制(高级自动化测试)操作的方式自动生成脚本(不过这种方式生成的脚本容易产生bug,需要自己修改一下) 目前只支持javascript来编写脚本. 环境搭建 只要mac下装好Xcode即可 界面的操作使用 如何运行 打开要测试的程序,选择Product --> Pro

SpringBoot2 整合Nacos组件,环境搭建和入门案例详解

摘自:https://www.cnblogs.com/cicada-smile/p/12190192.html 本文源码:GitHub·点这里 || GitEE·点这里 一.Nacos基础简介 1.概念简介 Nacos 是构建以“服务”为中心的现代应用架构,如微服务范式.云原生范式等服务基础设施.聚焦于发现.配置和管理微服务.Nacos提供一组简单易用的特性集,帮助开发者快速实现动态服务发现.服务配置.服务元数据及流量管理.敏捷构建.交付和管理微服务平台. 2.关键特性 动态配置服务 服务发现和

dotnet core on Linux 环境搭建及入门demo

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545; min-height: 14.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px;

Day1_Python介绍&amp;Python环境搭建&amp;Python入门

Python介绍 Python前世今生 Guido van Rossum在谷歌 Python 是一种开源的面向对象的脚本语言,它起源于1989年末,当时,CWI(阿姆斯特丹国家数学和计算机科学研究所)的研究员Guido van Rossum需要一种高级脚本编程语言,为其研究小组的Amoeba分布式操作系统执行管理任务.为创建新语言,他从高级数学语言ABC(ALL BASIC CODE)汲取了大量语法,并从系统编程语言Modula-3借鉴了错语处理机制.Van Rossum把这种新的语言命名为Py