现在的位置: 首页 > 综合 > 正文

android 自动化测试

2013年04月08日 ⁄ 综合 ⁄ 共 3032字 ⁄ 字号 评论关闭

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

》,需要对该工程稍做修改)作为被测程序,
运行后显示如下界面


 

 

2.      




创建一个
Test


Project



1).     



打开
eclipse

,选择
File->New->Project…->Android Test Project

,点击
Next


 

 

 

2).     




Test Project Name

中输入测试


工程的名称,如:

HelloWorldTest

。选择
An existing Android


Project


,点击右边的
Browse…

按钮。



 

3).     



选择被测工程,如之前创建的
HelloWorldnp

,点击
OK

按钮。



 

4).     



会自动选择和输入
Build Target


Properties

,可以按照默认的,不用修改。



 

5).     



一个新建的测试工程(
HelloWorldTest

)就创建好了,如下图:

 

 

3.      




创建一个
Test Case


1).     




HelloWorldTest->src->com.liliandroid.helloworld.test

上,右击选择
New->Class

,创建一个
Test Case


 

 

2).     




Name

中输入
Test Case

的名字,如:
UITextTest




 

3).     



创建好的
Test Case

如下图:

 

 

4.      




导入
robotium.jar


1).     



选择测试工程
HelloWorldTest

右击,选择
Build Path->Configure Build Path…

 

 

2).     



在打开的
Properties for HelloWorldTest

中点击
Add External JARs…

按钮。



 

3).     



因为之前创建的工程的
SDK


2.2

的,所以选择
robotium-solo-1.8.0.jar




 

4).     



点击
OK

按钮。



 

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

这两个文字。

 


 

 

6.      




运行测试程序

选择测试工程
HelloWorldTest

右击,选择
Run As->Android JUnit


Test


运行测试程序



 

 

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


 

 

 

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


 




 

参考网址:

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

 

 



抱歉!评论已关闭.