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

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

环境搭建(window):

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

入门:

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

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

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

3,创建测试工程

new --- project --- Android Test Project

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

测试用例源码:

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

被测工程源码:

主页面:

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

副页面:

  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】

上一篇:在Ubuntu 16.10安装mysql workbench报未安装软件包 libpng12-0错误


下一篇:读书笔记_python网络编程3_(1)