您的位置:首页 > 其它

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

2015-03-26 17:34 579 查看
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



测试用例源码:

[java] view
plaincopy





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);

}

@Override

protected void setUp() throws Exception {

solo = new Solo(getInstrumentation(),getActivity());

}

@Override

protected void tearDown() throws Exception {

solo.finishOpenedActivities();

}

@Test

public void test() {

//solo.clickOnMenuItem("Settings");

for (int i = 0; i < 10; i ++){

solo.clickOnButton("原始数据");

}

solo.clickOnButton("跳转");

solo.goBack();

solo.clickOnButton("原始数据");

}

}

被测工程源码:

主页面:

[java] view
plaincopy





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;

@Override

protected 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{

@Override

public void onClick(View v) {

i++;

System.out.println(i);

textView.setText(String.valueOf(i));

}

}

class SkipButtonListener implements OnClickListener{

@Override

public void onClick(View v) {

Intent intent = new Intent();

intent.setClass(MainActivity.this, SceondAcitvity.class);

startActivity(intent);

}

}

@Override

public 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;

}

}

副页面:

[java] view
plaincopy





package com.tangbc.tbutton;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

public class SceondAcitvity extends Activity{

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.second);

Intent intent = getIntent();

}

}

本文参考:http://www.robotium.cn/archives/210
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: