移动终端游戏将在公司发展计划中占有很大的比重。安卓系统在移动终端市场占有很大的一个市场,探索安卓系统下的
自动化测试对公司发展有积极的意义。
ANDROID自动化测试工具:ROBOTIUM
ROBOTIUM的介绍
Robotium是一款测试Android Application的测试框架,它使得编写
黑盒测试代码更加容易和稳定。通过使用Robotium,
测试用例开发人员能够跨越多个Activity,开发出功能、系统以及验收测试用例。Robotium是基于Android测试框架InstrumentationTestCase2进行的2次封装,把一些基本操作又简化了一遍。
ROBOTIUM的优势: 针对黑盒测试 在测试过程中,不必需要测试程序的源代码,只要apk文件(前提是需要知道测试程序的package和activity) 可以直接运行在
手机上,并通过adb端获得运行结果。 在使用该工具的时候有一点必须:当编辑完测试脚本后,会生成一个apk文件,将该apk安装到手机端,并通过abd输入一系列命令后直接运行测试脚本。但该apk的签名必须要与测试程序的apk签名保持一致。
ROBOTIUM的环境设置
JDK (Java Development Kit)
Eclipse for building
Test project
ADT (Android Development Tools)
Android SDK (Software Development Kit)
Robotium-solo-*.*.*.jar
ROBOTIUM进行测试的方法和步骤
1、 创建测试项目
点击Next
填写项目取的名称
选择被测工程,如之前创建的firstHello,点击Next按钮。
会主动选择和输入Build Target,可以遵守默认的,不消批改。
点击Finish,一个测试项目创建好了。
2、项目中导入ROBOTIUM.JAR
选择测试工程右击,选择Build Path->Configure Build Path
3、创建测试脚本CLASS。
创建之后脚本:
测试脚本
package com.example.firsthello.test;
import android.test.ActivityInstrumentationTestCase2;
import com.example.firsthello.MainActivity;
import com.jayway.android.robotium.solo.Solo;
public class UITextTest extends ActivityInstrumentationTestCase2<MainActivity> {
private Solo solo;
@SuppressWarnings("deprecation")
public UITextTest() { //初始化函数 告诉系统要测试的APP是什么。
super("com.example.firsthello.MainActivity",MainActivity.class);
// TODO Auto-generated constructor stub
}
//每一个test case 都会调用setUp进行初始化
public void setUp() throws Exception
{
solo= new Solo(getInstrumentation(),getActivity());
}
// 测试具体实例
public void testUI()throws Exception
{
boolean expected =true;
boolean actual =solo.searchText("Hello")&& solo.searchText("world!");
assertEquals("This and/or is are not found",expected,actual);
}
}