现在的位置: 首页 > 编程技术 > 安卓开发 > 正文

安卓Robotium自动测试简单教程

2015年01月06日 安卓开发 ⁄ 共 2337字 ⁄ 字号 安卓Robotium自动测试简单教程已关闭评论 ⁄ 阅读 199 次

平时我们会遇到一些重复性的工作(比如测试工作),这些工作一般都可以用类似于按键精灵的东西来进行重复,在安卓平台来介绍下类似的框架——Robotium(官网:https://code.google.com/p/robotium/)。

这里以搭建工程完成测试为主线,讲解整个过程。

  1. 如果你没有代码要进行黑盒测试,那么待测试工程必须处于debug模式(Eclipse默认就为该模式),并且生成APK要与你的Eclipse下的签名相同。签名不同的需要重新签名。白盒测试就没有这些要求。
  2. 这里就白盒测试来进行讲解,搭建环境黑盒和白盒是一样的,即你要有安卓的开发环境,并且下载了Robotium的插件(文后有下载包)。
  3. 新建测试工程,点击下一步安卓Robotium自动测试简单教程
  4. 添加名字,点击下一步.安卓Robotium自动测试简单教程
  5. 选择被测试工程,点击结束.(被测试工程文后下载文件中有)安卓Robotium自动测试简单教程
  6. 在新建的工程上创建Testcase,点击下一步.安卓Robotium自动测试简单教程
  7. TestCase配置,这里我们勾选 Setup(),tearDown(), Constructor,并结束.安卓Robotium自动测试简单教程
  8. 添加Robotium包.右键点击刚才创建的测试工程,选择Build Path再点击Configure Build Path,进行如下图的配置. 选择Add External JARS添加Robotium包,并在Order and Export选项卡里打钩.安卓Robotium自动测试简单教程 安卓Robotium自动测试简单教程  
  9. 在刚才新建的TestCase中添加如下代码: 代码这里就不详细解释了
    package com.calculator.test;import android.test.ActivityInstrumentationTestCase2;import android.widget.EditText;import android.widget.TextView;import com.calculator.Main;import com.calculator.R;import com.robotium.solo.Solo;public class TestMain extends ActivityInstrumentationTestCase2
    {private Solo solo;public TestMain() {super(Main.class);}@Overrideprotected void setUp() throws Exception {super.setUp();solo = new Solo(getInstrumentation(), getActivity());}public void testDisplayWhiteBox() {//Defining our own values to multiplyfloat vFirstNumber = 10;float vSecondNumber = 20;float vResutl = vFirstNumber * vSecondNumber ;//Access First value (edit-filed) and putting firstNumber value in itEditText vFirstEditText = (EditText) solo.getView(R.id.EditText01);solo.clearEditText(vFirstEditText);solo.enterText(vFirstEditText, String.valueOf(vFirstNumber));//Access Second value (edit-filed) and putting SecondNumber value in itEditText vSecondEditText = (EditText) solo.getView(R.id.EditText02);solo.clearEditText(vSecondEditText);solo.enterText(vSecondEditText, String.valueOf(vSecondNumber));}//Click on Multiply buttonsolo.clickOnButton("Multiply");assertTrue(solo.searchText(String.valueOf(vResutl)));TextView outputField = (TextView) solo.getView(R.id.TextView01);//Assert to verify result with visible valueassertEquals(String.valueOf(vResutl), outputField.getText().toString());}@Overrideprotected void tearDown() throws Exception{solo.finishOpenedActivities();}}
  10. 执行测试用例,在测试工程右键选择Run as---Android Junit Test.如果成功会出现如图的结果。安卓Robotium自动测试简单教程 

这样就算完成了测试工程的编写和调试,这里代码中蓝色的部分是需要你去修改的,Main.class是对应启动Activity的Class名。testDisplayWhiteBox这是测试的case的主体,必须以test开头命名,如test1,test2,测试工程会自动按照test后名字的字母排序来进行测试。最后的一坨蓝色的表示的是测试时的事件,本人所了解的功能有模拟鼠标点击,键盘输入,截屏,判断等等,具体的功能可以参考官方文档(文后下载中有)。

最后,以上的例子是依照官网的教程写的,官网的教程很清晰,可以拿来测试。附上所有所提到的东西的下载地址:http://yunpan.cn/lk/cyxPJYCzUbUXQ (提取码:a4fc)

抱歉!评论已关闭.