本文主要是介绍雾山的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学习笔记---环境搭建及入门示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!