您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > HttpUnit
应用HttpUnit进行Web测试
作者:网络转载 发布时间:[ 2013/4/8 16:05:52 ] 推荐标签:

  5、如何使用httpunit进行测试

  5.1 对页面内容进行测试

  httpunit中的这部分测试完全采用了JUnit的测试方法,即直接将你期望的结果和页面中的输出内容进行比较。

  比如你期望中的页面显示是中有一个表格,它是页面中的第一个表格,而且他的第一行第一列的数据应该是显示username,那么你可以使用下面的代码进行自动化测试:

  // 建立一个WebConversation实例

  WebConversation wc = new WebConversation();

  // 获取响应对象

  WebResponse resp = wc.getResponse( "http://www.sqalab.com/article/html/article_59.html" );

  // 获得对应的表格对象

  WebTable webTable = resp.getTables()[0];

  // 将表格对象的内容传递给字符串数组

  String[][] datas = webTable.asText();

  // 对表格内容进行测试

  String expect = "中文";

  // 增加 assertEquals 判断

  Assert.assertEquals(expect,datas[0][0]);

  5.2 对Servlet进行测试

  除了对页面内容进行测试外,有时候(比如开发复杂的Servlets的时候),你需要对 Servlet本身的代码块进行测试,这时候你可以选择HttpUnit,它可以提供一个模拟的Servlet容器,让你的Servlet代码不需要发布到Servlet容器(如tomcat)可以直接测试。

  5.2.1 原理简介

  使用httpunit测试Servlet时,请创建一个ServletRunner的实例,他负责模拟Servlet容器环境。如果你只是测试一个Servlet,你可以直接使用registerServlet方法注册这个Servlet,如果需要配置多个Servlet,你可以编写自己的web.xml,然后在初始化ServletRunner的时候将它的位置作为参数传给 ServletRunner的构造器。

  在测试Servlet时,应该记得使用ServletUnitClient类作为客户端,他和前面用过的WebConversation差不多,都继承自WebClient,所以他们的调用方式基本一致。要注意的差别是,在使用 ServletUnitClient时,他会忽略URL中的主机地址信息,而是直接指向他的ServletRunner实现的模拟环境。

上一页123456下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd