`

HttpUnit入门的简单例子

阅读更多

01.package com.amway.test;  
02.import java.io.IOException;  
03.import org.xml.sax.SAXException;  
04.import com.meterware.httpunit.GetMethodWebRequest;  
05.import com.meterware.httpunit.PostMethodWebRequest;  
06.import com.meterware.httpunit.TableCell;  
07.import com.meterware.httpunit.WebConversation;  
08.import com.meterware.httpunit.WebForm;  
09.import com.meterware.httpunit.WebLink;  
10.import com.meterware.httpunit.WebRequest;  
11.import com.meterware.httpunit.WebResponse;  
12.import com.meterware.httpunit.WebTable;  
13.import junit.framework.TestCase;  
14.public class WebExistTest extends TestCase{  
15.      
16.    //测试页面是否存在1  
17.    public void testWebExists(){  
18.        //模拟浏览器对象,拥有一个浏览器  
19.        WebConversation webConversation = new WebConversation();  
20.        try {  
21.            webConversation.getResponse("http://localhost:8080/Httpunit/");  
22.        } catch (IOException e) {  
23.            e.printStackTrace();  
24.        } catch (SAXException e) {  
25.            e.printStackTrace();  
26.        }  
27.    }  
28.    //测试页面是否存在2  
29.    public void testWebExists2(){  
30.        //模拟浏览器对象,拥有一个浏览器  
31.        WebConversation webConversation = new WebConversation();  
32.        //用get方法得到 一个请求对象  
33.        WebRequest request = new GetMethodWebRequest("http://localhost:8080/Httpunit/");  
34.        try {  
35.            webConversation.getResponse(request);  
36.        } catch (IOException e) {  
37.            e.printStackTrace();  
38.        } catch (SAXException e) {  
39.            e.printStackTrace();  
40.        }  
41.    }  
42.    //测试获取页面的内容 (源代码)  
43.    public void testWebContenct(){  
44.        WebConversation webConversation = new WebConversation();  
45.        try {  
46.            WebResponse response = webConversation.getResponse("http://localhost:8080/Httpunit/");  
47.            System.out.println(response.getText());  
48.        } catch (IOException e) {  
49.            e.printStackTrace();  
50.        } catch (SAXException e) {  
51.            e.printStackTrace();  
52.        }  
53.    }  
54.    //测试获取页面内容,并传递参数(get方式)  
55.    public void testWebContenctWithParameterGet(){  
56.        WebConversation webConversation = new WebConversation();  
57.        WebRequest request = new GetMethodWebRequest("http://localhost:8080/Httpunit/");  
58.        request.setParameter("username", "xaiobai");  
59.        try {  
60.            WebResponse response = webConversation.getResponse(request);  
61.            System.out.println(response.getText());  
62.        } catch (IOException e) {  
63.            e.printStackTrace();  
64.        } catch (SAXException e) {  
65.            e.printStackTrace();  
66.        }  
67.    }  
68.    //测试获取页面的内容,并传递参数(post方式 )  
69.    public void testWebContenctWithParameterPost(){  
70.        WebConversation webConversation = new WebConversation();  
71.        WebRequest request = new PostMethodWebRequest("http://localhost:8080/Httpunit/doForm.jsp");  
72.        request.setParameter("username", "xaiobai");  
73.        try {  
74.            WebResponse response = webConversation.getResponse(request);  
75.            System.out.println(response.getText());  
76.        } catch (IOException e) {  
77.            e.printStackTrace();  
78.        } catch (SAXException e) {  
79.            e.printStackTrace();  
80.        }  
81.    }  
82.    //测试页面成功跳转  
83.    public void testWebPageRedirectSuccess(){  
84.        WebConversation webConversation = new WebConversation();  
85.        WebRequest request = new PostMethodWebRequest("http://localhost:8080/Httpunit/validate.jsp");  
86.        request.setParameter("username", "xiaobai");  
87.        request.setParameter("password", "123");  
88.        try {  
89.            WebResponse response = webConversation.getResponse(request);  
90.            String expectedUrl = "http://localhost:8080/Httpunit/success.jsp";  
91.            this.assertEquals("验证失败",expectedUrl ,response.getURL().toString());  
92.        } catch (IOException e) {  
93.            e.printStackTrace();  
94.        } catch (SAXException e) {  
95.            e.printStackTrace();  
96.        }  
97.    }  
98.    //测试页面失败跳转  
99.    public void testWebPageRedirectFailed(){  
100.        WebConversation webConversation = new WebConversation();  
101.        WebRequest request = new PostMethodWebRequest("http://localhost:8080/Httpunit/validate.jsp");  
102.        request.setParameter("username", "xiaobai");  
103.        request.setParameter("password", "123111");  
104.        try {  
105.            WebResponse response = webConversation.getResponse(request);  
106.            String expectedUrl = "http://localhost:8080/Httpunit/failed.jsp";  
107.            this.assertEquals("验证失败",expectedUrl ,response.getURL().toString());  
108.        } catch (IOException e) {  
109.            e.printStackTrace();  
110.        } catch (SAXException e) {  
111.            e.printStackTrace();  
112.        }  
113.    }  
114.      
115.    //测试网页表格   
116.    public void testWebTable(){  
117.        WebConversation webConversation = new WebConversation();  
118.        WebRequest request = new GetMethodWebRequest("http://localhost:8080/Httpunit/tableTest.jsp");  
119.        try{  
120.            WebResponse response = webConversation.getResponse(request);  
121.            //获取外层表格的第一个  
122.            WebTable table = response.getTables()[0];  
123.            this.assertEquals(2, table.getColumnCount());  
124.            //行由0开始  
125.            TableCell cell= table.getTableCell(2, 0);  
126.            this.assertEquals("版次", cell.getText());  
127.            //this.assertEquals("", table.g)  
128.        }catch(Exception e) {  
129.            e.printStackTrace();  
130.        }  
131.    }  
132.    //测试网络中的连接  
133.    public void testWebClickPage(){  
134.        WebConversation webConversation = new WebConversation();  
135.        WebRequest request = new GetMethodWebRequest("http://localhost:8080/Httpunit/");  
136.        try {  
137.            WebResponse response = webConversation.getResponse(request);  
138.            System.out.println(response.getText());  
139.            WebLink link = response.getLinkWith("HttpUnit ABC");  
140.            request = link.getRequest();  
141.            String expetedURL = request.getURL().toString();  
142.            this.assertEquals(expetedURL, "http://localhost:8080/Httpunit/tableTest.jsp");  
143.        } catch (IOException e) {  
144.            e.printStackTrace();  
145.        } catch (SAXException e) {  
146.            e.printStackTrace();  
147.        }  
148.    }  
149.    //测试网络中的form  
150.    public void testWebForm(){  
151.        WebConversation webConversation = new WebConversation();  
152.        WebRequest request = new GetMethodWebRequest("http://localhost:8080/Httpunit/formTest.jsp");  
153.        try {  
154.            WebResponse response = webConversation.getResponse(request);  
155.            System.out.println(response.getText());  
156.            WebForm form = response.getForms()[0];  
157.            String name = form.getParameterValue("Name");  
158.            String food = form.getParameterValue("Food");  
159.            String location = form.getParameterValue("Location");  
160.            String CreditCard = form.getParameterValue("CreditCard");  
161.            this.assertEquals("La Cerentolia", name);  
162.            this.assertEquals("Chinese", food);  
163.            this.assertEquals("CenterCity", location);  
164.            this.assertEquals("on", CreditCard);  
165.        } catch (IOException e) {  
166.            e.printStackTrace();  
167.        } catch (SAXException e) {  
168.            e.printStackTrace();  
169.        }  
170.    }  
171.    //测试表单提交  
172.    public void testFormSubmit(){  
173.        WebConversation webConversation = new WebConversation();  
174.        WebRequest request = new GetMethodWebRequest("http://localhost:8080/Httpunit/formTest.jsp");  
175.        try {  
176.            WebResponse response = webConversation.getResponse(request);  
177.            System.out.println(response.getText());  
178.            WebForm form = response.getForms()[0];  
179.              
180.            form.setParameter("Name", "xiaobai");  
181.            form.setParameter("Food", "Italian");  
182.            form.setParameter("Location", "MiddleCity");  
183.            form.setParameter("CreditCard", "on");  
184.            //获取提交的url  
185.            response = form.submit();  
186.              
187.            String expetedURL = response.getURL().toString();  
188.            this.assertEquals("http://localhost:8080/Httpunit/doForm.jsp", expetedURL);  
189.        } catch (IOException e) {  
190.            e.printStackTrace();  
191.        } catch (SAXException e) {  
192.            e.printStackTrace();  
193.        }  
194.    }  
195.} 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fondOfJava/archive/2010/04/18/5499914.aspx

分享到:
评论

相关推荐

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

    在本项目中,我们关注的是一个基于HTTPUnit的Web工程实例,它包含了源码和必要的依赖包,能够处理异步数据加载。这个工程是用Java 1.8或更高版本编译并运行的,旨在帮助开发者理解如何在Web应用程序中进行HTTP请求...

    java爬取工具httpunit全部jar包(包含httpunit使用需要的全部jar包)

    在Java中,HttpUnit是一个强大的工具,专门设计用于模拟浏览器行为,进行无头(headless)测试和网页抓取。这个压缩包包含了使用HttpUnit进行网页爬取所需的所有jar包,确保了在你的开发环境中可以直接运行而无需...

    httpUnit的应用模拟登录一个网站

    - 使用`WebConversation`的`getNewWebClient()`方法获取`WebClient`实例,`WebClient`是与服务器交互的主要工具。 - 通过`WebClient`的`getPage(String url)`方法向服务器发送GET请求,加载指定URL的页面。 - ...

    使用HttpUnit进行集成测试

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

    httpunit所有需要的包

    HTTPUnit 是一个Java库,主要用于自动化Web应用程序的测试。它模拟浏览器行为,允许开发者无需实际浏览器就能测试网页的响应和交互。这个压缩包文件“httpunit所有需要的包”包含了运行HTTPUnit测试所需的所有组件。...

    httpunit jar包以及关于它文档

    3. **JavaScript支持**:虽然HTTPUnit 的JavaScript支持相对有限,但可以在一定程度上执行简单的JavaScript代码,这对于某些不需要复杂交互的测试场景已经足够。 4. **异常处理**:在测试过程中遇到的任何错误或...

    httpunit测试包

    这个“httpunit测试包”包含了多个组件和依赖库,这些组件和库一起支持了HttpUnit的功能,让我们逐一解析其中的关键部分。 1. **xercesImpl.jar**:Xerces是一个开源的XML解析器,它实现了W3C的DOM、SAX2和XPath ...

    httpunit-1.7相关所有jar文件

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

    httpunit-1.7.jar

    httpunit-1.7.jar下载

    httpunit(web必备)全部依赖打包

    HttpUnit所有依赖打包下载,HttpUnit是一个集成测试工具,主要关注Web应用的测试,提供的帮助类让测试者可以通过Java类和服务器进行交互,并且将服务器端的响应当作文本或者DOM对象进行处理。HttpUnit还提供了一个...

    httpUnit1.7_API

    **httpUnit1.7_API 知识点详解** HttpUnit 是一个Java库,它允许开发者在没有实际浏览器参与的情况下对Web应用程序进行自动化测试。这个工具主要用于单元测试,它模拟浏览器行为,可以执行HTTP请求,解析HTML响应,...

    httpunit-1.7

    2. **支持JavaScript**:尽管不是所有浏览器的行为都能完全模拟,但HttpUnit对JavaScript有一定的支持,能执行简单的脚本,这对于那些依赖JavaScript的动态网页来说尤其重要。 3. **HTML解析**:HttpUnit能解析HTML...

    httpunit2.21jar及关联jar包

    HTTPUnit 是一个Java库,主要用于自动化Web应用程序的测试。它提供了对HTTP协议的模拟,使得开发者可以在不依赖浏览器的情况下测试Web应用。这个标题提到的是HTTPUnit的2.21版本的jar包及其关联的jar包。在Java开发...

    httpunit.jar

    httpunit.jar

    httpunit源代码

    HTTPUnit 是一个Java库,主要用于自动化Web客户端测试。它允许开发者模拟浏览器行为,发送HTTP请求并接收响应,而无需实际的浏览器参与。这个库在Web应用程序的单元测试中非常有用,因为它可以快速、高效地测试...

    httpunit-1.7.rar

    httpunit-1.7.rar 包含所需的jar包

    httpunit-1.6.2.zip_Httpunit_httpun_httpunit-1.5.41.zip_httpunit-

    在标题中提到的"Httpunit-1.6.2.zip_Httpunit_httpun_httpunit-1.5.41.zip_httpunit-",这可能是一个包含不同版本的HttpUnit库的压缩包,包括HttpUnit 1.5.41和1.6.2。HttpUnit允许开发者模拟浏览器行为,执行诸如...

    httpunit Java模拟JS点击事件

    在Java项目中使用HttpUnit,首先需要将httpunit-1.7.jar添加到项目的类路径中。如果使用Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>net.sourceforge.httpunit</groupId> <artifactId>httpunit...

Global site tag (gtag.js) - Google Analytics