zoukankan      html  css  js  c++  java
  • 安卓自动化测试(2)Robotium环境搭建与新手入门教程

    Robotium环境搭建与新手入门教程

    1. java基础知识,如基本的数据结构、语法结构、类、继承等
    2. 对Android系统较为熟悉,了解四大组件,会编写简单的Android应用程序
    3. 熟悉Eclipse IDE使用方法
    4. 有足够的耐心与探索精神,遇到问题可以熟练的Google
    • 环境搭建

    1. 安装jdk,配置环境变量,如果不会请自行Google
    2. 下载安装Android SDK,并更新
    3. 下载Eclipse,并安装ADT插件,集成Android SDK
    • Robotium新手入门

    1. 下载Robotium官方例子以及最新的JAR
    2. 打开Eclipse导入被测试工程
      导入被测工程

      点击查看大图

    3. 创建测试工程:选择Android Test Project,并点击下一步
      点击查看大图

      点击查看大图

    4. 输入工程名,并点击下一步
      点击查看大图

      点击查看大图

    5. 选择被测工程NotePad,并点击完成
      4

      点击查看大图

    6. 在测试工程中新建lib文件夹
      5

      点击查看大图

    7. 将下载好的Robotium jar包拷入lib中,并在build path中将jar包引入工程
      7

      点击查看大图

    8. 打开测试工程中的manifest.xml文件,修改如下
      12

      点击查看大图

    
    
    1. 新建junit test case,选择junit4,并输入类名,点击完成
      13

      点击查看大图

    2. 打开新建的测试类,修改继承ActivityInstrumentationTestCase2<NotesList>,创建构造方法,并编写测试代码,具体如图
      14

      点击查看大图

    01 package com.example.android.notepad.test;
    02  
    03 import android.test.ActivityInstrumentationTestCase2;
    04  
    05 import com.example.android.notepad.NotesList;
    06 import com.jayway.android.robotium.solo.Solo;
    07  
    08 public class NotePadTest extendsActivityInstrumentationTestCase2
    09 {
    10     private Solo solo;//声明Solo
    11     public NotePadTest()//构造方法
    12     {
    13         super(NotesList.class);
    14  
    15     }
    16  
    17     @Override
    18     public void setUp() throws Exception
    19     {
    20         solo = new Solo(getInstrumentation(), getActivity());
    21     }
    22  
    23     @Override
    24     public void tearDown() throws Exception
    25     {
    26         solo.finishOpenedActivities();
    27     }
    28  
    29     public void testAddNote() throws Exception
    30     {
    31         //点击add note按钮
    32         solo.clickOnMenuItem("Add note");
    33         //比对结果
    34         solo.assertCurrentActivity("Expected NoteEditor activity""NoteEditor");
    35         //在第一个TextEdit控件上输入内容
    36         solo.enterText(0"Note 1");
    37         //返回上个界面
    38         solo.goBack();
    39         //点击菜单中的Add note
    40         solo.clickOnMenuItem("Add note");
    41         //在第一个EditText中输入内容
    42         solo.enterText(0"Note 2");
    43         //返回NotesList activity
    44         solo.goBackToActivity("NotesList");
    45         //截屏
    46         solo.takeScreenshot();
    47         boolean expected = true;
    48         boolean actual = solo.searchText("Note 1") ; solo.searchText("Note 2");
    49         assertEquals("Note 1 and/or Note 2 are not found", expected, actual);
    50  
    51     }
    52  
    53 }
    1. 编写完成后,打开模拟器或者连接上真机,右击测试类,选择Android junit Test
      15

      点击查看大图

    2. Eclipse会切换到junit界面,此时模拟器(真机)会自动执行测试,通过左边界面可以看到运行结果
      16

      点击查看大图

    3. 一个简单的测试就结束了。如果你没有遇到问题,那么恭喜你继续更深一步学习,如果你遇到问题了,不要急~请先确保你的操作过程没有出任何错误,其次我列出你可能遇到的错误,如果还是没有解决请Google或者联系我们

    1、最常见的:java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo

    解决方法:如图操作后再clean工程34

    Never give up !
  • 相关阅读:
    js:delete 操作符
    ActiveReports 代码控制报表连续打印
    ActiveReports 打印条码无法设置纸张大小?
    《JavaScript高级程序设计》读书笔记之一:几个与原始类型等价的引用类型的常用方法和属性
    js:字符串类型快速转化成数字类型和数字类型快速转化为字符串类型
    js:for...in 语句(JavaScript For...In Statement)
    Internet Explorer Developer Toolbar
    javascript 定义对象的方法
    关于 输入框输入一定数以后跳转的问题
    javascript 关于弹出关闭的例子
  • 原文地址:https://www.cnblogs.com/AmilyWilly/p/4661393.html
Copyright © 2011-2022 走看看