android 自动化测试

Android 自动化测试的相关方法

测试手段 1 CTS

用来确保某设备符合 Android 兼容性规范。原来想扩充它,不是正道。

测试手段 2 Monkey

1)     应用程序的开发者可以测试自己应用的鲁棒性。

2)     设备制造商可以使用猴子对自己的测试施行压力测试。看设备能坚持多久。

猴子测试即可以针对全局,也可以正对某个局部(某个 Category, package 等等)。

执行简单,效果明显。

测试手段 3: ASE

ASE 意思为 Android 脚本环境, 即我们可以通过脚本(比如 Python )调用 Android 的功能,从而定制一些测试。比如打电话,发短信,浏览网页,等。

 

我们可以扩充它的 API Java 部分) , 并用 python 脚本调用这些 API,  从而实现丰富的测试功能。

 

用于 API 部分可以访问到 Android 全部 API, python 又能灵活部署测试,所以 ASE 的扩展性非常好。

测试手段 4: Robotium

该工具用于黑盒的自动化测试。可以在有源码或者只有 APK 的情况下对目标应用进行测试。

Robotimu 提供了模仿用户操作行为的 API ,比如在某个控件上点击,输入 Text 等等。

测试手段 5 单元测试

Android 本身带有很多单元测试例子,我们可以按需要模仿它们,针对某个应用进行单元测试。

注意 Android Instrument 机制功能非常强大,可以测试 UI.

总结

对于 CTS/Monkey, 我们不需要开发,只要执行测试就可以了。

对于 ASE,  我们可以扩充它的现有 API(Java), Python 调用这些 API 实现丰富的测试功能。

Robotium 模仿普通用户行为,可以试着把一些原来由测试工程师做的测试变成 Robotium 自动化实现。

 

 

 

如何使用robotium进行自动化测试

  Robotium是一个测试框架能够方便你为Android应用程序编写强大、健壮的自动黑盒测试用例。

  利用Robotium的支持,用例开发人员能够编 写功能、系统和验收测试方案Robotium支持Activities、

  Dialogs、Toasts、Menus和Context Menus。

 

 

1.       创建一个简单的工程 (可参考本人的日志 《第一个应用 HelloWorld 》,需要对该工程稍做修改)作为被测程序, 运行后显示如下界面

 

 android 自动化测试_第1张图片

2.       创建一个 Test Project

1).      打开 eclipse ,选择 File->New->Project…->Android Test Project ,点击 Next

 

 android 自动化测试_第2张图片

 

2).      Test Project Name 中输入测试 工程的名称,如: HelloWorldTest 。选择 An existing Android Project ,点击右边的 Browse… 按钮。

android 自动化测试_第3张图片

 

3).      选择被测工程,如之前创建的 HelloWorldnp ,点击 OK 按钮。

android 自动化测试_第4张图片

 

4).      会自动选择和输入 Build Target Properties ,可以按照默认的,不用修改。

android 自动化测试_第5张图片

 

5).      一个新建的测试工程( HelloWorldTest )就创建好了,如下图:

 

 android 自动化测试_第6张图片

3.       创建一个 Test Case

1).      HelloWorldTest->src->com.liliandroid.helloworld.test 上,右击选择 New->Class ,创建一个 Test Case

 

 android 自动化测试_第7张图片

2).      Name 中输入 Test Case 的名字,如: UITextTest

android 自动化测试_第8张图片

 

3).      创建好的 Test Case 如下图:

 

 android 自动化测试_第9张图片

4.       导入 robotium.jar

1).      选择测试工程 HelloWorldTest 右击,选择 Build Path->Configure Build Path…

 

 android 自动化测试_第10张图片

2).      在打开的 Properties for HelloWorldTest 中点击 Add External JARs… 按钮。

android 自动化测试_第11张图片

 

3).      因为之前创建的工程的 SDK 2.2 的,所以选择 robotium-solo-1.8.0.jar

android 自动化测试_第12张图片

 

4).      点击 OK 按钮。

android 自动化测试_第13张图片

 

5.       修改 Test Case

打开 UITextTest.java ,输入以下内容并保存:

 

package com.liliandroid.helloworld.test;

 

import android.test.ActivityInstrumentationTestCase2;

 

import com.liliandroid.helloworld.ActivityMain;

import com.jayway.android.robotium.solo.Solo;

 

public class UITextTest extends ActivityInstrumentationTestCase2<ActivityMain>{

 

       private Solo solo ;

 

       public UITextTest() {

           super ( "com.liliandroid.helloworld" , ActivityMain. class );

           }

          

       public void setUp() throws Exception {

           solo = new Solo(getInstrumentation(), getActivity());

                }

               

       public void testUI() throws Exception {

           boolean expected = true ;

           boolean actual = solo .searchText( "This" ) && solo .searchText( "is" );

             assertEquals ( "This and/or is are not found" , expected, actual);

          

       }

 

   

}

 

注:这个 Case 是测试运行了 ActivityMain 后的界面上是否有 This is 这两个文字。

 

android 自动化测试_第14张图片  

 

6.       运行测试程序

选择测试工程 HelloWorldTest 右击,选择 Run As->Android JUnit Test 运行测试程序

android 自动化测试_第15张图片

 

 

运行完后的测试结果界面( Pass

 android 自动化测试_第16张图片

 

 

运行完后的测试结果界面( Fail

 

android 自动化测试_第17张图片

 

参考网址:

http://code.google.com/p/robotium/

 

http://hi.baidu.com/maguowei/home

http://www.51testing.com/?uid-115892-action-viewspace-itemid-223476

http://wenku.baidu.com/view/d8e404d149649b6648d74767.html

http://dejico.blogbus.com/logs/82890579.html

http://blog.csdn.net/zjujoe/archive/2010/06/23/5689324.aspx

http://hi.baidu.com/tang157/blog/item/584bfbc611e8450b9d163dd9.html

http://tech.j2bb.com/?p=171

 

 


你可能感兴趣的:(android 自动化测试)