开发手册 欢迎您!
软件开发者资料库

移动测试 - Robotium框架

移动测试Robotium框架 - 从概述,平台,设备类型,Native Vs Hybrid Vs Mobileweb,Device Vs应用程序测试,模拟器和模拟器,应用程序测试,UI测试,规划和工具,硬件视角,简单易懂的步骤学习移动测试设备测试类型,框架概述,Android测试框架,IOS测试框架,Robotium测试框架,Selendroid测试框架,Appium测试框架,Zucchini测试框架。

Robotium是一个开源测试框架,用于为Android应用程序编写自动灰盒测试用例.在Robotium的支持下,测试用例开发人员可以编写功能,系统和验收测试场景,涵盖多个Android活动.

Robotium可用于测试源代码可用的应用程序和只有APK文件可用的应用程序.

Robotium的好处

  • 简单写,更短的代码.编写可靠测试用例所需的时间最短.

  • 您可以开发功能强大的测试用例,而对测试中的应用程序知之甚少.

  • 该框架自动处理多个Android活动.与标准仪器测试相比,测试用例的可读性大大提高.

  • 自动计时和延迟.

  • 自动关注当前活动.

  • 自动查找视图.

  • 不对Android平台进行修改.

  • 测试执行速度很快.

  • 由于与GUI组件的运行时绑定,测试用例更加强大.

  • 与Maven或Ant顺利集成.

Robotium的缺点

  • Robotium无法处理Flash或Web组件.

  • 它一次只处理一个应用程序.

  • 它无法模拟使用Robotium点击软键盘(需要使用'enterText()'将文本输入EditText字段)

  • Robotium无法与St.互动atus Bar通知 : 也就是说,下拉通知区域并单击指定的通知.

  • 可能有点慢,尤其是在旧设备上运行.

如何使用Robotium

第1步 : 使用Robotium的先决条件是Java SDK(最低1.6).如果您的系统上没有安装Java,请按照以下步骤进行操作.

  • 从以下位置下载JDK和JRE  Oracle技术网

  • 接受许可协议.

  • 安装JDK和JRE.

  • 设置环境变量如下面的屏幕截图所示.

环境变量

第2步 : 从 Android Studio 下载Android Studio

  • 双击exe并运行安装程序.

  • 继续使用所有默认选项.

  • 设置ANDROID_HOME.

第3步 : 安装Android图片和工具.

  • 点击SDK Manager :

SDK Manager

  • 选择必要的包装.例如,如果我们正在为Android 4.4.2构建应用程序,请确保在"工具"部分和"减号"下检查以下包:

    • Android SDK工具rev 22.6.3

    • Android平台工具rev 19.0.1

    • Android SDK Build-tools rev 19.1

第4步 : 创建Android虚拟设备.

  • 打开Android Studio,然后单击工具栏中的AVD Manager. AVD允许我们测试和运行我们的Android应用程序.

AVD Manager

  • 使用以下设置进行Nexus5 AVD :

    • 设备和减号; Nexus 5(4.95,1080 x 1920; xxhdpi)

    • 目标 : 去; Google API x86(Google Inc.) -  API等级19

    • (确保在名称中选择带有Google API的目标.)

    • CPU  : 去; Intel Atom(x86)

    • 选中"使用主机GPU"框

    • 单击"确定"

  • 您现在应该看到您在AVD管理器中创建的AVD,您可以在其中启动它,删除它或创建另一个!

第5步 :  Robotium Jar文件从 RobotiumTech 下载Robotium Jar文件

使用Robotium测试应用程序

要使用Robotium测试应用程序,请按照下面给出的步骤 : 去;

步骤1  : 去;在Android Studio中创建一个名为"RobotiumTest"的测试项目.

Robotium Test

选择所有默认选项,直至到达主页.

第2步 : 将Robotium jar文件复制到项目的Lib文件夹中.

Robot Jar Files

第3步 : 在 src 文件夹下的build.gradle文件中添加依赖项.

androidTestCompile'com.jayway.android.robotium:robotium-solo-5.5.3'

第4步 : 同步Gradle.

同步Gradle

第5步 : 创建Test类如下 :

package com.example;import com.robotium.solo.Solo;import android.test.ActivityInstrumentationTestCase2;import android.widget.EditText;import android.widget.TextView;public class MyTestClass extends ActivityInstrumentationTestCase2{   private Solo solo;   public MyTestClass() {      super(TestActivity.class);   }   public void setUp() throws Exception {      solo = new Solo(getInstrumentation(), getActivity());   }   public void testCase() throws Exception {      String vResult="TestExample";      EditText vEditText = (EditText) solo.getView(R.id.edit1);      solo.clearEditText(vEditText);      solo.enterText(vEditText,"TestExample");      solo.clickOnButton("Submit");      assertTrue(solo.searchText(vResult));      TextView textField = (TextView) solo.getView(R.id.txt1);      //Assert to verify result with visible value      assertEquals(vResult, textField.getText().toString());   }   @Override   public void tearDown() throws Exception {      solo.finishOpenedActivities();   }}

第6步 : 保存所有更改.确保没有错误.

第7步 : 现在,运行测试用例.如果测试用例成功,您应该看到以下输出!

显示结果