`

HTTPUNIT测试

 
阅读更多

 

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

    基于Junit的HttpUnit测试

    **基于Junit的HttpUnit测试** 在软件开发中,单元测试是确保代码质量的重要环节,它可以帮助开发者在早期发现和修复问题,提高软件的稳定性和可靠性。`JUnit` 是一个广泛使用的 Java 测试框架,而 `HttpUnit` 则是...

    selenium httpunit测试程序

    继承了httpunit selenium两组插件包。 包含完全源代码和JAVA包。 自己花了20多个积分,东拼西凑,用了一个星期,总算把程序调通。希望后来者能够减少弯路。 驱动器 C 中的卷是 系统 卷的序列号是 68C8-B91E C:\...

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

    在实际应用中,你可以结合其他测试框架,如JUnit或TestNG,来组织和执行HttpUnit测试用例。此外,了解DOM解析和XPath表达式,可以帮助你更有效地在响应内容中查找和验证元素。 总之,HttpUnit是一个强大的工具,...

    httpunit所有需要的包

    这个压缩包文件“httpunit所有需要的包”包含了运行HTTPUnit测试所需的所有组件。 在Java编程环境中,库通常以JAR(Java Archive)文件的形式分发,方便在项目中导入和使用。"httpunit.jar"是HTTPUnit的主要库文件...

    httpunit2.21jar及关联jar包

    它能够执行JavaScript,加载和渲染HTML页面,这对于HTTPUnit测试Web应用中的动态内容尤其重要。HTMLUnit2.21版本与HTTPUnit2.21相匹配,确保了两者之间的兼容性。 使用HTTPUnit进行Web应用测试时,开发者可以编写...

    httpunit-1.7

    1. **创建测试用例**:在Java类中,创建HttpUnit测试用例,定义测试方法,如`@Test`注解的方法。 2. **构建HTTP请求**:使用`WebConversation`或`WebClient`对象,创建`WebRequest`,设置URL、请求方法和参数。 3. *...

    使用HttpUnit进行集成测试

    ### 使用HttpUnit进行集成测试 #### 一、HttpUnit简介 HttpUnit是一个强大的开源测试工具,主要用于Web应用程序的集成测试。它基于JUnit构建,并且在功能上做了许多增强,能够帮助开发者有效地完成针对Web应用的...

    web项目的一个测试工具

    在实际使用HttpUnit时,我们首先需要导入相关库,然后创建一个HttpUnit测试类,定义HTTP请求,并设置必要的参数(如URL、方法、请求头等)。之后,我们可以发送请求并捕获响应,对响应的内容、状态码或头信息进行...

    httpunit单元测试所需jar包

    内部含有httpunit单元测试所必需的jar包 httpunit.jar, js.jar, nekohtml.jar, xercesImpl.jar, xercesSamples.jar, servlet-api.jar, resolver.jar

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

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

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

    使用HttpUnit,开发者可以编写单元测试或集成测试,以验证Web应用程序的功能。 1. **HttpUnit的基本使用**: - 创建`WebConversation`对象,这是HttpUnit执行请求的基础。 - 使用`WebConversation`的`...

    servlettest

    以下是使用Junit和httpunit测试Servlet的基本步骤: 1. **创建测试类**:在Java项目中创建一个新的类,继承自Junit的`@RunWith(MockitoJUnitRunner.class)`或者使用`@ExtendWith(SpringExtension.class)`(如果使用...

    httpunit jar包以及关于它文档

    5. 性能测试和压力测试通常不在HTTPUnit的范畴内,如果需要进行这类测试,可以考虑使用Apache JMeter或其他专门的性能测试工具。 总之,HTTPUnit是一个强大的工具,它为Java开发者提供了简洁的API,使得测试Web应用...

    httpunit-1.7相关所有jar文件

    HTTPUnit是一个Java库,专为Web应用程序测试设计。它允许开发者模拟浏览器行为,执行HTTP请求并解析响应,而无需实际浏览器的参与。这个工具在自动化测试领域非常有用,特别是在进行功能测试和集成测试时,可以极大...

    httpunit源代码

    HTTPUnit 是一个Java库,主要用于自动化Web客户端测试。它允许开发者模拟浏览器行为,发送HTTP请求并接收响应,而无需实际的浏览器参与。这个库在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-1.5.41.zip_httpunit-",这可能是一个包含不同版本的HttpUnit库的压缩包,包括...

    如何使用HttpUnit进行集成测试

    如何使用HttpUnit进行集成测试软件测试1HttpUnit简介HttpUnit是SourceForge下面的一个开源项目,它是基于JUnit的一个测试框架,主要关注于测试Web应用,解决使用JUnit框架无法对远程Web内容进行测试的弊端。...

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

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

Global site tag (gtag.js) - Google Analytics