测试1:测试网页是否存在:
要测试一個网页是否存在,只要简单的通过WebConversation的getResponse()方法即可,例如:
WebConversation webConversation = new WebConversation();
webConversation.getResponse("http://localhost:8080/httpUnit/");
如果找不到网页,則會引发HttpNotFoundException,由于不是断言错误,所以这会在JUnit中产生一個Error。
<!--EndFragment-->
测试2:Get、Post:
public class AuthActionTest extends BaseTest {
@Autowired
private UserSpaceRedisDAO userRedisDAO;
@Test
public void testLogin() throws IOException {
String account="sgswebtest";
String pwd="1111";
WebConversation webConversation = new WebConversation();
WebRequest request =new GetMethodWebRequest("http://localhost:8080/auth!doLogin.action");
request.setParameter("loginAccount",account);
request.setParameter("loginPwd",pwd);
WebResponse response =webConversation.getResource(request);
System.out.println("-----------------------"+response.getResponseMessage());
Assert.notNull(response);
Assert.isTrue(response.getResponseCode()==200);
//登录成功返回userId
String responseText=response.getText();
Assert.notNull(responseText);
Long userId=Long.valueOf(responseText.replaceAll("\"", ""));
//根据账号查询userID,然后和返回的userId做比较
super.jedis.select(0);
Long newUserId=this.userRedisDAO.getUserIdByAccontName(account);
Assert.notNull(newUserId);
Assert.isTrue(newUserId.longValue()==userId.longValue(),"登录后返回的userId和账号ID不对应");
}
}
<!--EndFragment-->
测试3:取得表格信息:
您可以从WebResponse中取得相关的HTML信息,假设网页中有如下这样的一个表格:
书籍名称
|
设计模式(Design Pattern)
|
软件版本
|
无
|
书籍版次
|
第二版
|
修改时间
|
2004/12/26
|
下面的程序演示如何取得表格相关信息进行测试:
WebConversation webConversation = new WebConversation();
WebResponse response = webConversation.getResponse("http://localhost:8080/httpUnit/tableTest.jsp");
WebTable webTable = response.getTables()[0];
assertEquals(2, webTable.getColumnCount());
TableCell cell = webTable.getTableCell(2, 0);
assertEquals("书籍版次", cell.getText());
测试4:跟随超链接:
网页中有很多的超链接,我们可以使用HttpUnit来模拟超链接的点击,例如网页中如果有个超链接如下:
<a href="httpUnitABC.jsp">HttpUnit ABC</a>
则可以使用下面的程序来吵到链接,然后模拟一个click动作来跟随这个超链接:
WebConversation webConversation = new WebConversation();
WebResponse response = webConversation.getResponse("http://localhost:8080/httpUnit/");
WebLink link = response.getLinkWith("HttpUnit ABC");
WebRequest clickRequest = link.getRequest();
WebResponse linkPage =webConversation.getResponse(clickRequest);
测试5:测试Cookie:
如果被测试的网页需要Cookie信息,您可以使用WebConversation的addCookie()方法发送Cookie信息
给网页,例如:
WebConversation webConversation = new WebConversation();
webConversation.addCookie("user", "taobaoge");
WebResponse response = webConversation.getResponse("http://localhost:8080/httpUnit/");
如果网页中包含了Cookie,您可以使用getCookieValue()方法取得网页中包含的Cookie信息,若网页包括下面的Scriptlet:
<%
Cookie cookie = new Cookie("customerId", "12345");
response.addCookie(cookie);
%>
可使用下面的方式來测试传回的Cookie信息:
assertEquals("taobaoge",webConversation.getCookieValue("user"));
测试6:Authorization:
如果您的网页中有预设的HTTP基本验证,则可以使用WebConversation的setAuthorization ()方法來设定验证信息,例如:
webConversation.setAuthorization("justin", "123456");
测试7:设定代理:
有的時候,您测试的目的网页可能必须通过代理服务器才能连上,你可以通过设定系统属性来设定HttpUnit使用代理,例如:
System.getProperties().put("proxySet", "true");
System.getProperties().put("proxyHost", "proxy.ntu.edu.tw");
System.getProperties().put("proxyPort", "8080");
如此之來,HttpUnit就會通过指定的代理服务器來发送请求与接受相应。
<!--EndFragment-->
分享到:
相关推荐
这个“httpunit测试包”包含了多个组件和依赖库,这些组件和库一起支持了HttpUnit的功能,让我们逐一解析其中的关键部分。 1. **xercesImpl.jar**:Xerces是一个开源的XML解析器,它实现了W3C的DOM、SAX2和XPath ...
**基于Junit的HttpUnit测试** 在软件开发中,单元测试是确保代码质量的重要环节,它可以帮助开发者在早期发现和修复问题,提高软件的稳定性和可靠性。`JUnit` 是一个广泛使用的 Java 测试框架,而 `HttpUnit` 则是...
继承了httpunit selenium两组插件包。 包含完全源代码和JAVA包。 自己花了20多个积分,东拼西凑,用了一个星期,总算把程序调通。希望后来者能够减少弯路。 驱动器 C 中的卷是 系统 卷的序列号是 68C8-B91E C:\...
在实际应用中,你可以结合其他测试框架,如JUnit或TestNG,来组织和执行HttpUnit测试用例。此外,了解DOM解析和XPath表达式,可以帮助你更有效地在响应内容中查找和验证元素。 总之,HttpUnit是一个强大的工具,...
这个压缩包文件“httpunit所有需要的包”包含了运行HTTPUnit测试所需的所有组件。 在Java编程环境中,库通常以JAR(Java Archive)文件的形式分发,方便在项目中导入和使用。"httpunit.jar"是HTTPUnit的主要库文件...
它能够执行JavaScript,加载和渲染HTML页面,这对于HTTPUnit测试Web应用中的动态内容尤其重要。HTMLUnit2.21版本与HTTPUnit2.21相匹配,确保了两者之间的兼容性。 使用HTTPUnit进行Web应用测试时,开发者可以编写...
1. **创建测试用例**:在Java类中,创建HttpUnit测试用例,定义测试方法,如`@Test`注解的方法。 2. **构建HTTP请求**:使用`WebConversation`或`WebClient`对象,创建`WebRequest`,设置URL、请求方法和参数。 3. *...
### 使用HttpUnit进行集成测试 #### 一、HttpUnit简介 HttpUnit是一个强大的开源测试工具,主要用于Web应用程序的集成测试。它基于JUnit构建,并且在功能上做了许多增强,能够帮助开发者有效地完成针对Web应用的...
在实际使用HttpUnit时,我们首先需要导入相关库,然后创建一个HttpUnit测试类,定义HTTP请求,并设置必要的参数(如URL、方法、请求头等)。之后,我们可以发送请求并捕获响应,对响应的内容、状态码或头信息进行...
内部含有httpunit单元测试所必需的jar包 httpunit.jar, js.jar, nekohtml.jar, xercesImpl.jar, xercesSamples.jar, servlet-api.jar, resolver.jar
在Java中,HttpUnit是一个强大的工具,专门设计用于模拟浏览器行为,进行无头(headless)测试和网页抓取。这个压缩包包含了使用HttpUnit进行网页爬取所需的所有jar包,确保了在你的开发环境中可以直接运行而无需...
使用HttpUnit,开发者可以编写单元测试或集成测试,以验证Web应用程序的功能。 1. **HttpUnit的基本使用**: - 创建`WebConversation`对象,这是HttpUnit执行请求的基础。 - 使用`WebConversation`的`...
以下是使用Junit和httpunit测试Servlet的基本步骤: 1. **创建测试类**:在Java项目中创建一个新的类,继承自Junit的`@RunWith(MockitoJUnitRunner.class)`或者使用`@ExtendWith(SpringExtension.class)`(如果使用...
5. 性能测试和压力测试通常不在HTTPUnit的范畴内,如果需要进行这类测试,可以考虑使用Apache JMeter或其他专门的性能测试工具。 总之,HTTPUnit是一个强大的工具,它为Java开发者提供了简洁的API,使得测试Web应用...
HTTPUnit是一个Java库,专为Web应用程序测试设计。它允许开发者模拟浏览器行为,执行HTTP请求并解析响应,而无需实际浏览器的参与。这个工具在自动化测试领域非常有用,特别是在进行功能测试和集成测试时,可以极大...
HTTPUnit 是一个Java库,主要用于自动化Web客户端测试。它允许开发者模拟浏览器行为,发送HTTP请求并接收响应,而无需实际的浏览器参与。这个库在Web应用程序的单元测试中非常有用,因为它可以快速、高效地测试...
HttpUnit 是一个强大的Java库,专门用于自动化Web应用程序的测试。在标题中提到的"Httpunit-1.6.2.zip_Httpunit_httpun_httpunit-1.5.41.zip_httpunit-",这可能是一个包含不同版本的HttpUnit库的压缩包,包括...
如何使用HttpUnit进行集成测试软件测试1HttpUnit简介HttpUnit是SourceForge下面的一个开源项目,它是基于JUnit的一个测试框架,主要关注于测试Web应用,解决使用JUnit框架无法对远程Web内容进行测试的弊端。...
HttpUnit所有依赖打包下载,HttpUnit是一个集成测试工具,主要关注Web应用的测试,提供的帮助类让测试者可以通过Java类和服务器进行交互,并且将服务器端的响应当作文本或者DOM对象进行处理。HttpUnit还提供了一个...