`

httpunit使用示例

    博客分类:
  • java
阅读更多
import java.io.IOException;
import java.net.MalformedURLException;

import org.xml.sax.SAXException;

import com.meterware.httpunit.GetMethodWebRequest;
import com.meterware.httpunit.PostMethodWebRequest;
import com.meterware.httpunit.WebConversation;
import com.meterware.httpunit.WebForm;
import com.meterware.httpunit.WebLink;
import com.meterware.httpunit.WebRequest;
import com.meterware.httpunit.WebResponse;
import com.meterware.httpunit.WebTable;


public class httpUnitTestSample {

	/**
	 * 页面内容测试
	 * @throws MalformedURLException
	 * @throws IOException
	 * @throws SAXException
	 */
	public static void testGetHtmlContent() throws MalformedURLException,
			IOException, SAXException {
		System.out.println("直接获取网页内容:");
		// 建立一个WebConversation实例
		WebConversation wc = new WebConversation();
		// 向指定的URL发出请求,获取响应
		WebResponse wr = wc.getResponse("http://www.baidu.com");
		// 用getText方法获取相应的全部内容
		// 用System.out.println将获取的内容打印在控制台上
		System.out.println(wr.getText());
	}

	/**
	 * 用get方法获取页面内容
	 * @throws MalformedURLException
	 * @throws IOException
	 * @throws SAXException
	 */
	public static void testGetMethod() throws MalformedURLException,
			IOException, SAXException {
		System.out.println("向服务器发送数据,然后获取网页内容:");
		// 建立一个WebConversation实例
		WebConversation wc = new WebConversation();
		// 向指定的URL发出请求
		WebRequest req = new GetMethodWebRequest(
				"http://localhost:8080/test.html");
		// 给请求加上参数
		req.setParameter("query", "四氯化碳");
		// 获取响应对象
		WebResponse resp = wc.getResponse(req);

		// 用getText方法获取相应的全部内容
		// 用System.out.println将获取的内容打印在控制台上
		System.out.println(resp.getText());

	}

	/**
	 * 用post方法获取页面内容
	 * @throws MalformedURLException
	 * @throws IOException
	 * @throws SAXException
	 */
	public static void testPostMethod() throws MalformedURLException,
			IOException, SAXException {
		System.out.println("使用Post方式向服务器发送数据,然后获取网页内容:");
		// 建立一个WebConversation实例
		WebConversation wc = new WebConversation();
		// 向指定的URL发出请求
		WebRequest req = new PostMethodWebRequest(
				"http://localhost:8080/test.html");
		// 给请求加上参数
		req.setParameter("user_name", "test");
		req.setParameter("password", "111111");
		// 获取响应对象
		WebResponse resp = wc.getResponse(req);

		// 用getText方法获取相应的全部内容
		// 用System.out.println将获取的内容打印在控制台上
		System.out.println(resp.getText());
	}

	
	/**
	 * 获取页面链接并模拟点击
	 * @throws MalformedURLException
	 * @throws IOException
	 * @throws SAXException
	 */
	public static void testClickLink() throws MalformedURLException,
			IOException, SAXException {
		System.out.println("获取页面中链接指向页面的内容:");
		// 建立一个WebConversation实例
		WebConversation wc = new WebConversation();
		// 获取响应对象
		WebResponse resp = wc.getResponse("http://www.265.com/");
		// 获得页面链接对象
		WebLink link = resp.getLinkWith("百度");
		// 模拟用户单击事件
		link.click();
		// 获得当前的响应对象
		WebResponse nextLink = wc.getCurrentPage();

		// 用getText方法获取相应的全部内容
		// 用System.out.println将获取的内容打印在控制台上
		System.out.println(nextLink.getText());

	}

	/**
	 * 获取页面内容的table内容
	 * @throws MalformedURLException
	 * @throws IOException
	 * @throws SAXException
	 */
	public static void testTableContent() throws MalformedURLException,
			IOException, SAXException {
		System.out.println("获取页面中表格的内容:");
		// 建立一个WebConversation实例
		WebConversation wc = new WebConversation();
		// 获取响应对象
		WebResponse resp = wc
				.getResponse("http://www.w3school.com.cn/tiy/loadtext.asp?f=html_table_test");

		System.out.println(resp.getText());
		// 获得对应的表格对象
		WebTable webTable = resp.getTables()[0];
		// 将表格对象的内容传递给字符串数组
		String[][] datas = webTable.asText();
		// 循环显示表格内容
		int i = 0, j = 0;
		int m = datas[0].length;
		int n = datas.length;
		while (i < n) {
			j = 0;
			while (j < m) {
				System.out.println("表格中第" + (i + 1) + "行第" + (j + 1) + "列的内容是:"
						+ datas[i][j]);
				++j;
			}
			++i;
		}
	}

	/**
	 * 获取页面的表单控件内容
	 * @throws MalformedURLException
	 * @throws IOException
	 * @throws SAXException
	 */
	public static void testHtmlContentForm() throws MalformedURLException,
			IOException, SAXException {
		System.out.println("获取页面中表单的内容:");
		// 建立一个WebConversation实例
		WebConversation wc = new WebConversation();
		// 获取响应对象
		WebResponse resp = wc.getResponse("http://www.w3school.com.cn/tiy/t.asp?f=html_table_test");

		System.out.println(resp.getText());
		// 获得对应的表单对象
		WebForm webForm = resp.getForms()[0];
		// 获得表单中所有控件的名字
		String[] pNames = webForm.getParameterNames();
		int i = 0;
		int m = pNames.length;
		// 循环显示表单中所有控件的内容
		while (i < m) {
			System.out.println("第" + (i + 1) + "个控件的名字是" + pNames[i] + ",里面的内容是"
					+ (webForm.getParameterValues(pNames[i])));
			++i;
		}
	}

	public static void main(String[] args) throws MalformedURLException,
			IOException, SAXException {
		// testGetHtmlContent();
		// testGetMethod();
		// testPostMethod();
		// testClickLink();
		// testTableContent();
		testHtmlContentForm();
	}

}

 

1
0
分享到:
评论

相关推荐

    httpunit-1.7相关所有jar文件

    下面是一个简单的HTTPUnit使用示例,展示了如何发送GET请求并获取响应内容: ```java import org.apache.httpunit.WebClient; import org.apache.httpunit.html.HtmlPage; public class HTTPUnitTest { public ...

    使用HttpUnit进行集成测试

    3. **使用示例**:以下是一些基本的使用HttpUnit进行测试的例子。 #### 三、使用HttpUnit进行Web页面测试 ##### 1. 获取指定网页内容 ```java System.out.println("直接获取网页内容:"); // 创建一个...

    httpunit所有需要的包

    描述中的链接指向了一个博客文章,虽然无法在此直接访问,但通常这样的链接会提供使用HTTPUnit的示例代码或者安装教程。博客作者提到他们已经成功测试了这些jar包,意味着这个压缩包里的组件应该是完整且兼容的。 ...

    使用HttpUnit进行集成测试源码.zip_Httpunit

    这个压缩包"使用HttpUnit进行集成测试源码.zip_Httpunit"包含了使用HttpUnit进行集成测试的相关源代码示例,可能包括了如何配置、如何发送GET和POST请求,以及如何解析和验证响应内容。 在集成测试中,HttpUnit ...

    httpunit jar包以及关于它文档

    以下是一个简单的使用HTTPUnit进行Web应用测试的Java代码示例: ```java import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache....

    httpUnit完整的web工程实例,包括源码和依赖包,数据页面具有异步数据

    在本实例中,`HttpUtilTest`类是HTTPUnit的使用示例,通过它我们可以学习如何创建HTTP请求,获取服务器响应,以及如何验证这些响应是否符合预期。 2. **异步数据处理**:Web应用程序常常使用异步技术来提高用户体验...

    httpunit-1.6.2.zip_Httpunit_httpun_httpunit-1.5.41.zip_httpunit-

    HttpUnit 是一个强大的Java库,专门用于自动化Web应用程序的测试。在标题中提到的"Httpunit-1.6.2.zip_Httpunit_httpun_httpunit-...在使用HttpUnit 1.6.2时,应结合其文档和提供的示例,以便更好地理解和利用其功能。

    httpunit jwebunit tesing for web application

    本篇文章将深入探讨两种用于Web应用测试的工具:HttpUnit与JWebUnit,并通过一个具体的示例来展示如何使用这两种工具进行自动化测试。 #### HttpUnit与JWebUnit简介 - **HttpUnit** 是一个Java类库,它提供了模拟...

    基于Junit的HttpUnit测试

    `JUnit` 是一个广泛使用的 Java 测试框架,而 `HttpUnit` 则是一个用于模拟 Web 客户端行为的工具,尤其适合进行 Web 应用程序的自动化测试。本文将详细介绍如何结合 `JUnit` 和 `HttpUnit` 进行 Web 服务的测试。 ...

    Jelly Tag Library for HttpUnit-开源

    在HttpUnit中使用Jelly标签库,开发者可以利用XML的结构化特性来构建测试场景,提高了测试代码的可读性和可维护性。 这个开源的Jelly Tag Library for HttpUnit 包含了一系列的自定义标签,比如`&lt;http:get&gt;`、`...

    自动化测试示例TestDemo完善最新版本

    本示例项目"TestDemo"的最新版本专注于自动化测试,集成了JUnit、HttpUnit、JMock以及JUnitEE,并且针对之前版本未支持TestNG的问题进行了完善,以满足更多用户的需求。 首先,JUnit是Java编程语言中最广泛使用的...

    普通java类中获取pageContext对象

    尽管直接在普通Java类中获取`PageContext`并非易事,下面提供一个示例代码,展示如何在Servlet环境中通过`HttpServletRequest`间接访问`PageContext`: ```java import javax.servlet.http.HttpServletRequest; ...

    Java极限编程

    使用HttpUnit进行功能测试** HttpUnit是一个用于Web应用程序功能测试的Java库。它模拟浏览器行为,可以通过发送HTTP请求来测试Web页面的交互逻辑。这对于确保Web应用的功能正确性非常重要。 **10. 使用JMeter衡量...

    mavenproject工程列表说明1

    10. **HTTPUnit**: `httpunitdemo`是一种网页抓取技术,可以执行JavaScript,模拟用户行为,适用于自动化测试和数据抓取。 11. **Base64图像处理**: `imgdemo`演示了Base64编码和解码在图片与文件之间的转换,常...

    Eccles-开源

    2. **examples**:这个目录包含了示例代码或测试用例,帮助新用户理解如何使用 Eccles 进行实际操作。通过这些例子,开发者可以学习到如何配置请求,如何解析和验证响应,以及如何自定义处理逻辑。 3. **lib**:这...

    JTest8.3入门教程.doc

    - **跟踪仙人掌(Cactus)和HTTPUnit测试用例覆盖范围**:监测高级测试的覆盖范围。 - **定制符合团队的需求和喜好的测试**:自定义测试策略。 - **监控测试质量和记录测试结果**:跟踪测试进度。 - **设定和监控...

    WebWalker-开源

    1. **data**:可能包含了示例或预定义的测试数据,这些数据用于构建和运行测试场景。 2. **src**:源代码目录,包含了WebWalker的主要实现,包括解析XML脚本、调用HTTPUNIT接口等核心功能的Java代码。 3. **build**...

    javaXP极限编程

    这本书不局限于理论阐述,而是通过100多个“配方”(recipes),详细介绍如何在实际项目中实施XP,特别关注于Java环境下流行的开源工具,如Ant、Junit、HttpUnit、Cactus、Tomcat、XDoclet等的运用。 ### 核心知识...

    Graphical Web Page Test Suite-开源

    下载并解压这个文件后,用户将能够看到包含源代码、文档、示例和其他相关资源的目录结构,进一步了解和使用这个工具。 总之,Graphical Web Page Test Suite是一个开源的网站测试工具,依赖于httpunit库,提供了...

    Javascript based http testing library.-开源

    文件名 "jshttptest" 可能是指该库的主文件或示例代码,通过学习和实践,开发者可以快速上手并开始编写自己的测试脚本。总的来说,这个开源的 JavaScript HTTP 测试库为前端测试带来了一种新的、强大的解决方案。

Global site tag (gtag.js) - Google Analytics