httpunit简介

JUnit Gossip: HttpUnit 简介

HttpUnit虽然也有Unit的名字,但它本身并不是测试工具,所谓不是测试工具的意思是,它不提供任何的测试或断言方法,正确来说,它是测试时的辅 助工具,它协助您进行HTTP请求响应,让您在请求上加上参数、设置Cookie等,它将回应的讯息加以剖析整理,您可以从它提供的物件上得到分析後的表 头(Header)、表单(Form)、表格(Table)等等,这些都有利於您进行测试时省去一些撰写分析工具的功夫。

您可以至 HttpUnit 官方网站 下载档案,在下载并解开档案後,您可以在 lib 目录下找到 httpunit.jar,将之加至您的CLASSPATH中,如果用到一些剖析HTML的方法,您还会需要HTML剖析器,您可以使用 JTidy,它的 jar 档案可以在解开後的 jars 目录下找到 Tidy.jar 档案,该目录下还有一些相关的 jar 档案,如果您有需要与HttpUnit的结合的功能,可以在这个目录下取得这些相依档案。

来实际撰写一个简单的测试程式:
  • FirstHttpUnitTest.java
package onlyfun.caterpillar.test;

import java.io.IOException;
import java.net.MalformedURLException;

import org.xml.sax.SAXException;

import com.meterware.httpunit.GetMethodWebRequest;
import com.meterware.httpunit.WebConversation;
import com.meterware.httpunit.WebRequest;
import com.meterware.httpunit.WebResponse;

import junit.framework.TestCase;

public class FirstHttpUnitTest extends TestCase {

public void testCaterpillarOnlyfun()
throws MalformedURLException,
IOException,
SAXException {
WebConversation webConversation =
new WebConversation();
WebRequest request =
new GetMethodWebRequest(
"http://caterpillar.onlyfun.net/phpBB2/");
WebResponse response =
webConversation.getResponse(request);
assertTrue(response.getTitle().startsWith(
"caterpillar.onlyfun.net"));
}

public static void main(String[] args) {
junit.swingui.TestRunner.run(
FirstHttpUnitTest.class);
}}

WebConversation是HttpUnit的中心,您使用它来展开与HTTP相关的协议对话,您使用 WebRequest设置相关的请求参数,之後用WebConversation连接目的网页,然後得到回应WebResponse,之後您可以从这个物 件上得到一些剖析过後的讯息,例如使用getTitle()方法可以取得之间设置的标题文字。

你可能感兴趣的:(http)