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

环境搭建(window):

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

入门:

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

Robotium---环境搭建及入门示例_第1张图片

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

3,创建测试工程

new --- project --- Android Test Project

Robotium---环境搭建及入门示例_第2张图片

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

Robotium---环境搭建及入门示例_第3张图片

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

Robotium---环境搭建及入门示例_第4张图片

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

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

Robotium---环境搭建及入门示例_第5张图片

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

Robotium---环境搭建及入门示例_第6张图片

Robotium---环境搭建及入门示例_第7张图片

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

Robotium---环境搭建及入门示例_第8张图片

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

Robotium---环境搭建及入门示例_第9张图片

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

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

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

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

Robotium---环境搭建及入门示例_第10张图片

测试用例源码:

[java]view plaincopy在CODE上查看代码片
  1. packagecom.tangbc.tbutton.test;
  2. importorg.junit.Test;
  3. importandroid.test.ActivityInstrumentationTestCase2;
  4. importcom.robotium.solo.Solo;
  5. importcom.tangbc.tbutton.MainActivity;
  6. publicclassTButtonTestextendsActivityInstrumentationTestCase2{
  7. privateSolosolo;
  8. publicTButtonTest(){
  9. super(MainActivity.class);
  10. }
  11. @Override
  12. protectedvoidsetUp()throwsException{
  13. solo=newSolo(getInstrumentation(),getActivity());
  14. }
  15. @Override
  16. protectedvoidtearDown()throwsException{
  17. solo.finishOpenedActivities();
  18. }
  19. @Test
  20. publicvoidtest(){
  21. //solo.clickOnMenuItem("Settings");
  22. for(inti=0;i<10;i++){
  23. solo.clickOnButton("原始数据");
  24. }
  25. solo.clickOnButton("跳转");
  26. solo.goBack();
  27. solo.clickOnButton("原始数据");
  28. }
  29. }


被测工程源码:

主页面:

[java]view plaincopy在CODE上查看代码片
  1. packagecom.tangbc.tbutton;
  2. importandroid.app.Activity;
  3. importandroid.content.Intent;
  4. importandroid.os.Bundle;
  5. importandroid.view.Menu;
  6. importandroid.view.View;
  7. importandroid.view.View.OnClickListener;
  8. importandroid.widget.Button;
  9. importandroid.widget.TextView;
  10. publicclassMainActivityextendsActivity{
  11. privateButtonbutton;
  12. privateTextViewtextView;
  13. privatestaticinti=0;
  14. privateButtonskipButton;
  15. @Override
  16. protectedvoidonCreate(BundlesavedInstanceState){
  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(newButtonListener());
  22. skipButton=(Button)findViewById(R.id.skipbutton);
  23. skipButton.setOnClickListener(newSkipButtonListener());
  24. }
  25. classButtonListenerimplementsOnClickListener{
  26. @Override
  27. publicvoidonClick(Viewv){
  28. i++;
  29. System.out.println(i);
  30. textView.setText(String.valueOf(i));
  31. }
  32. }
  33. classSkipButtonListenerimplementsOnClickListener{
  34. @Override
  35. publicvoidonClick(Viewv){
  36. Intentintent=newIntent();
  37. intent.setClass(MainActivity.this,SceondAcitvity.class);
  38. startActivity(intent);
  39. }
  40. }
  41. @Override
  42. publicbooleanonCreateOptionsMenu(Menumenu){
  43. //Inflatethemenu;thisaddsitemstotheactionbarifitispresent.
  44. getMenuInflater().inflate(R.menu.main,menu);
  45. returntrue;
  46. }
  47. }


副页面:

[java]view plaincopy在CODE上查看代码片
  1. packagecom.tangbc.tbutton;
  2. importandroid.app.Activity;
  3. importandroid.content.Intent;
  4. importandroid.os.Bundle;
  5. publicclassSceondAcitvityextendsActivity{
  6. @Override
  7. protectedvoidonCreate(BundlesavedInstanceState){
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.second);
  10. Intentintent=getIntent();
  11. }
  12. }

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

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

更多相关文章

  1. Android开发从入门到精通(2)
  2. Eclipse开发Android应用程序入门:重装上阵
  3. Mac配置Android开发环境变量及工具安装图

随机推荐

  1. activity 的属性android:taskAffinity和a
  2. Android可循环显示图像的Android(安卓)Ga
  3. android基于XMPP的消息推送机制
  4. 基于Android的 拍照上传 程序开发
  5. Android中Handler,Looper,MessageQueue和Th
  6. Android与电脑局域网共享之:Samba Server
  7. Android软件如何进行推广?十种推广方式可
  8. [Android] 缓存机制
  9. 和菜鸟一起学android4.0.3源码之红外遥控
  10. android解决No system images installed