“-------不论你能够做什么,或是在梦想什么……开始去做就是。勇敢中包含了天赋、能力和魔力。 ——歌德”

如何使用HttpUnit进行集成测试

上一篇 / 下一篇  2009-05-06 09:28:11 / 个人分类:测试相关知识

英语学习
  • 测试英语术语:
  • 日常英语:
51Testing软件测试网`/XQ'B8I

[内容摘要]HttpUnit是一个集成测试工具,主要关注Web应用的测试,提供的帮助类让测试者可以通过Java类和服务器进行交互,并且将服务器端的响应当作文本或者DOM对象进行处理。HttpUnit还提供了一个模拟Servlet容器,让你可以不需要发布Servlet,就可以对Servlet的内部代码进行测试。本文中作者将详细的介绍如何使用HttpUnit提供的类完成集成测试。

[f&IlUr051Testing软件测试网*Z$q0s(M/Bu"W

关键词: httpunit 集成测试51Testing软件测试网)E\CI%eW.RE'S
1 HttpUnit简介51Testing软件测试网hA L/LJO_tz
HttpUnit是SourceForge下面的一个开源项目,它是基于JUnit的一个测试框架,主要关注于测试Web应用,解决使用JUnit框架无法对远程Web内容进行测试的弊端。当前的最新版本是1.5.4。为了让HtpUnit正常运行,你应该安装JDK1.3.1或者以上版本。
9D8[.gMC Gw2W01.1 工作原理51Testing软件测试网-}sn H'Ma7A1} J
HttpUnit通过模拟浏览器的行为,处理页面框架(frames),cookies,页面跳转(redirects)等。通过HttpUnit提供的功能,你可以和服务器端进行信息交互,将返回的网页内容作为普通文本、XML Dom对象或者是作为链接、页面框架、图像、表单、表格等的集合进行处理,然后使用JUnit框架进行测试,还可以导向一个新的页面,然后进行新页面的处理,这个功能使你可以处理一组在一个操作链中的页面。
efQDISj?8DL6n d7N01.2 和其他商业工具的对比
3i1J F+L'pT-A0商业工具一般使用记录、回放的功能来实现测试,但是这里有个缺陷,就是当页面设计被修改以后,这些被记录的行为就不能重用了,需要重新录制才能继续测试。51Testing软件测试网hIa0N;Z'iS)py
举个例子:如果页面上有个元素最先的设计是采用单选框,这个时候你开始测试,那么这些工具记录的就是你的单项选择动作,但是如果你的设计发生了变化,比如说我改成了下拉选择,或者使用文本框接受用户输入,这时候,你以前录制的测试过程就无效了,必须要重新录制。
6OC^wU \5N jk7wH0而HttpUnit因为关注点是这些控件的内容,所以不管你的外在表现形式如何变化,都不影响你已确定测试的可重用性。51Testing软件测试网8M%T IT(K

X+?4x&R:q]/VE0更多的关于httpunit的信息请访问httpunit的主页http://httpunit.sourceforge.net/51Testing软件测试网x-ua,MP|-CD7|
2 作者的演示环境51Testing软件测试网vkG#a0h
系统平台:Windows 2000 Sercver
xWg-r&c(Q0Q+G r ~0应用服务器:深圳金蝶的apusic3.051Testing软件测试网V#c BMrMU6SW
开发工具: eclipse 2.1.251Testing软件测试网p)E9VP a`-[

51Testing软件测试网$T i4rn~zYV,y Uuc

说明: 所有的代码请下载作者提供的code.jar文件。
.I4s:o7?jI%oj E*A03 HttpUnit安装、环境配置
-]0l^-]f8M7s M03.1 安装
9W!A5FP]&p^01. 到HttpUnit的主页http://httpunit.sourceforge.net下载最新的包文件,当前的最新版本是1.5.4。/
6y7vhQKP5B8fd02. 将下载。Zip包解压缩到c:/httpunit(后面将使用%httpunit_home%引用该目录)51Testing软件测试网+t$b!d Bj
3.2 环境配置
F"I }]X#l}NR3TQ0作者的演示程序都是在eclipse中开发、执行的,所以环境配置都是以eclipse为例,如果你使用其他的开发工具,请根据这些步骤进行环境配置。51Testing软件测试网 `(V6Rv5um8vhWs&z$B
1. 启动eclipse,建立一个java工程51Testing软件测试网,e Ya3e0BM?c
2. 将%httpunit_home%/lib/*.jar; %httpunit_home%/jars/*.jar加入到该java工程的Java build Path变量中
.fJ!Kv6yn\w [N04 如何使用httpunit处理页面的内容51Testing软件测试网 V'C#HO Y
WebConversation类是HttpUnit框架中最重要的类,它用于模拟浏览器的行为。其他几个重要的类是:
Z'^ E4d$@7o S"R0WebRequest 模仿客户请求,通过它可以向服务器发送信息
l,nGBY6vW{8_0WebResponse 模拟浏览器获取服务器端的响应信息
;}+_*^_ D/X*L^n{04.1 获取指定页面的内容51Testing软件测试网1A(~N'W`~
4.1.1 直接获取页面内容51Testing软件测试网N Q9BD^H

51Testing软件测试网,\%y0l5I%Z {K&N3|

System.out.println("直接获取网页内容:");
H-n Z(a6M2`1S|_0// 建立一个WebConversation实例
E8@d#o RJ8fW0WebConversation wc = new WebConversation();51Testing软件测试网#tH1g7K$@
// 向指定的URL发出请求,获取响应51Testing软件测试网]*d ZZ vLc/J SU'R
WebResponse wr = wc.getResponse( "http://localhost:6888/HelloWorld.html" );
BA\BW;WC+E$Yf$~f0// 用getText方法获取相应的全部内容51Testing软件测试网W aJc5o JF
// 用System.out.println将获取的内容打印在控制台上
F)^Vy`"[ \}0System.out.println( wr.getText() );
?,b*u/_&H0

Y/W"@.~3I"{w n0

TAG:

 

评分:0

我来说两句

日历

« 2024-04-13  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 20945
  • 日志数: 48
  • 文件数: 2
  • 书签数: 7
  • 建立时间: 2008-09-13
  • 更新时间: 2009-05-06

RSS订阅

Open Toolbar