雾山的Robotium学习笔记---环境搭建及入门示例

2024-04-25 01:48

本文主要是介绍雾山的Robotium学习笔记---环境搭建及入门示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

环境搭建(window):

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

入门:

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


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

3,创建测试工程

new --- project --- Android Test Project


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


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


6,在测试工程中创建libs文件夹

7,将下载的robotium-solo-5.1.jar文件拷到libs文件夹,并右击build path---add to build path


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 



测试用例源码:

package com.tangbc.tbutton.test;import org.junit.Test;
import android.test.ActivityInstrumentationTestCase2;
import com.robotium.solo.Solo;
import com.tangbc.tbutton.MainActivity;public class TButtonTest  extends ActivityInstrumentationTestCase2{private Solo solo;public TButtonTest() {super(MainActivity.class);}@Overrideprotected void setUp() throws Exception {solo = new Solo(getInstrumentation(),getActivity());}@Overrideprotected void tearDown() throws Exception {solo.finishOpenedActivities();}@Testpublic void test() {//solo.clickOnMenuItem("Settings");for (int i = 0; i < 10; i ++){solo.clickOnButton("原始数据");}solo.clickOnButton("跳转");solo.goBack();solo.clickOnButton("原始数据");}}

被测工程源码:

主页面:

package com.tangbc.tbutton;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends Activity {private Button button;private TextView textView;private static int i = 0;private Button skipButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button)findViewById(R.id.button);textView = (TextView)findViewById(R.id.textView);button.setOnClickListener(new ButtonListener());skipButton = (Button)findViewById(R.id.skipbutton);skipButton.setOnClickListener(new SkipButtonListener());}class ButtonListener implements OnClickListener{@Overridepublic void onClick(View v) {i++;System.out.println(i);textView.setText(String.valueOf(i));}}class SkipButtonListener implements OnClickListener{@Overridepublic void onClick(View v) {Intent intent = new Intent();intent.setClass(MainActivity.this, SceondAcitvity.class);startActivity(intent);}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

副页面:

package com.tangbc.tbutton;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;public class SceondAcitvity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.second);Intent intent = getIntent();}}


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


这篇关于雾山的Robotium学习笔记---环境搭建及入门示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/933406

相关文章

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

Python位移操作和位运算的实现示例

《Python位移操作和位运算的实现示例》本文主要介绍了Python位移操作和位运算的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 位移操作1.1 左移操作 (<<)1.2 右移操作 (>>)注意事项:2. 位运算2.1

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

pandas中位数填充空值的实现示例

《pandas中位数填充空值的实现示例》中位数填充是一种简单而有效的方法,用于填充数据集中缺失的值,本文就来介绍一下pandas中位数填充空值的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是中位数填充?为什么选择中位数填充?示例数据结果分析完整代码总结在数据分析和机器学习过程中,处理缺失数

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl