软件测试:HttpUnit简单介绍和案例应用

这篇具有很好参考价值的文章主要介绍了软件测试:HttpUnit简单介绍和案例应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

带大家一起了解一下什么是HttpUnit,同时也做了一个小的测试案例供大家学习,一起进步~~~😁😁😁😁😁😁
希望大家多多关注,您的鼓励将是我最大的动力!
我的主页:
不许代码码上红
欢迎来学习!

httpunit,java,测试工具

一、什么是HttpUnit?

HttpUnit是基于JUnit构建的一个开源的测试框架,专门针对Web应用的测试,用于解决使用JUnit框架无法对远程Web内容进行测试的问题。

二、工作原理?

HttpUnit通过模拟浏览器的行为,包括提交表单(form)、处理页面框架(frames)、基本的http验证、cookies以及页面跳转(redirects)处理等,进行Web应用程序的测试。通过HttpUnit提供的功能,用户可以方便地与服务器端进行信息的交互,将返回的网页内容作为普通文本、XML Dom对象或者是作为链接、页面框架、图像、表单、表格等的集合进行处理,然后使用Junit框架进行测试,还可以导向一个新的页面,然后进行新的页面的处理,这个功能使测试人员可以处理一组在一个操作链中的页面!

三、特点?

对于一般Web测试工具使用记录、回放的功能来说,这些测试工具的缺陷是当页面设计被修改后,这些被记录的行为就不能再重复利用了,每当页面改变一次,就需要重新录制一次才能正常重放。
例如:
如果,页面上有个元素再开始的设计中采用的是单选框,此时这些工具记录的就是你的单项选择动作。一旦设计发生了变化,比如说改成了下拉菜单,这时候,以前录制的测试过程就无效了,必须要重新录制。
而因为HttpUnit关注的是这些控件的内容,而不管页面的表现形式,所以不管表现形式如何变化,都不影响已确定的测试的可重用性。

四、JUnit?

环境:Windows11
工具:IntelliJ IDEA 2021.3、Junit、HttpUnit
语言:java

4.1什么是JUnit?

JUnit是用于编写和运行可重复的自动化测试的开源测试框架, 这样可以保证我们的代码按预期工作。JUnit可广泛用于工业和作为支架(从命令行)或IDE(如Eclipse)内单独的Java程序。

JUnit提供:

1、断言测试预期结果。
2、测试功能共享通用的测试数据。
3、测试套件轻松地组织和运行测试。
4、图形和文本测试运行。
5、JUnit用于测试:
a、整个对象
b、对象的一部分 - 交互的方法或一些方法
c、几个对象之间的互动(交互)

JUnit的特点:
1、JUnit是用于编写和运行测试的开源框架。
2、提供了注释,以确定测试方法。
3、提供断言测试预期结果。
4、提供了测试运行的运行测试。
5、JUnit测试让您可以更快地编写代码,提高质量
6、JUnit是优雅简洁。它是不那么复杂以及不需要花费太多的时间。
7、JUnit测试可以自动运行,检查自己的结果,并提供即时反馈。没有必要通过测试结果报告来手动梳理。
8、JUnit测试可以组织成测试套件包含测试案例,甚至其他测试套件。
9、Junit显示测试进度的,如果测试是没有问题条形是绿色的,测试失败则会变成红色。

4.2环境配置:安装Junit

httpunit,java,测试工具

httpunit,java,测试工具

4.3环境配置:下载HttpUnit

下载地址:http://httpunit.sourceforge.net/

httpunit,java,测试工具
httpunit,java,测试工具

4.4环境配置:配置HttpUnit

第一步,在idea中创建一个lib目录:
httpunit,java,测试工具

httpunit,java,测试工具
httpunit,java,测试工具
httpunit,java,测试工具
httpunit,java,测试工具
第二步,将下载的HttpUnit压缩包解压,把lib中的包和jars中的包全部导入到lib中:
httpunit,java,测试工具

五、案例!

5.1创建一个servlet(主要代码)

 public void saveToSession(HttpServletRequest request){
        request.getSession().setAttribute("testAttribute",request.getParameter("testparam"));
    }
    public void doPost(HttpServletRequest request,HttpServletResponse response)
        throws ServletException,IOException{
        String username=request.getParameter("username");
        response.getWriter().write(username+":HelloWorld!");

    }
    public boolean authenticate(){
        return true;
    }

5.2在web.xml中配置这个servlet

 <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>com.testTry.servlet.HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

5.3启动tomcat服务器,输入姓名贝吉特点击提交

httpunit,java,测试工具

httpunit,java,测试工具

5.4创建测试类(主要代码)

  protected void setUp() throws Exception{
        super.setUp();
    }
    protected void tearDown() throws Exception{
        super.tearDown();
try{
            ServletRunner sr=new ServletRunner();
            sr.registerServlet("HelloWorld", HelloWorld.class.getName());
            ServletUnitClient sc=sr.newClient();
            WebRequest request=new GetMethodWebRequest(
                    "http://localhost:8080/HelloWorld"
            );
            request.setParameter("username","Test");
            InvocationContext ic=sc.newInvocation(request);
            HelloWorld is=(HelloWorld) ic.getServlet();
            Assert.assertTrue(is.authenticate());
            WebResponse response=sc.getResponse(request);
            Assert.assertTrue(response.getText().equals("Test:HelloWorld!"));
        }catch(Exception e){
            e.printStackTrace();

5.5运行结果,测试成功

httpunit,java,测试工具文章来源地址https://www.toymoban.com/news/detail-778116.html

到了这里,关于软件测试:HttpUnit简单介绍和案例应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 分享 | 软件测试的基本流程是什么?软件测试流程详细介绍

    分享 | 软件测试的基本流程是什么?软件测试流程详细介绍

    软件测试和软件开发一样,是一个比较复杂的工作过程,如果无章法可循,随意进行测试势必会造成测试工作的混乱。为了使测试工作标准化、规范化,并且快速、高效、高质量地完成测试工作,需要制订完整且具体的测试流程。 不同类型的软件产品测试的方式和重点不一样

    2024年02月05日
    浏览(7)
  • 嵌入式软件测试笔记11 | 测试设计技术简单说明

    嵌入式软件测试笔记11 | 测试设计技术简单说明

    即分析测试基础,明确每一个测试需要的情形; 例如: 需要测试的情形包含所有的条件,true、false、有效值、无效值等。 测试情形被转换为测试用例; 逻辑测试用例课能就是测试情形; 逻辑测试用例即描述的测试情形的类型,不需要为相关参数赋确定的值就可以被覆盖到

    2024年02月16日
    浏览(9)
  • 软件测试/测试开发丨ChatGPT在软件测试领域的应用

    软件测试/测试开发丨ChatGPT在软件测试领域的应用

    随着互联网技术的迅速发展,软件已经成为现代社会中不可或缺的一部分。而软件测试作为保障软件质量的关键环节,也越来越受到人们的关注。在这个领域,ChatGPT作为一种新型的人工智能技术,正逐渐应用于软件测试领域,为软件测试带来了诸多创新和改进。 在软件测试

    2024年02月14日
    浏览(16)
  • 软件测试简单么,发展前景如何?

    软件测试简单么,发展前景如何?

    随着人工智能时代的到来,IT行业受到了越来越多人的重视。软件测试作为把控软件质量必不可少的环节,其重要性可见一斑。 软件测试可以说是算得上IT行业里相对简单的语言,但是也只是相对哈,如果想学习下去还是要看个人的学习能力的,自学一下就知道到底简单不简

    2024年02月13日
    浏览(7)
  • 软件测试面试01:自我介绍

    软件测试面试01:自我介绍

    面试宫,您好,我叫XXX,来自于XXXX,目前从事软件测试工作,已经三年工作经验,个人性格,比较开朗,跟人关系比较好,做事也比较细心三年测试工作经验中,过了不少项目,积累不少项目经验,前面1-2年主要是功能测试,后面这一年主要做接口测试,app自动化测试能够独

    2024年02月06日
    浏览(13)
  • 软件测试面试?太简单了 2023测试面经 (答案+思路+史上最全)

    软件测试面试?太简单了 2023测试面经 (答案+思路+史上最全)

    从年后开始投简历面试的,在boss和拉钩上投了有几十份简历,其中70%未读状态,30%已读,已读的一半回复要求发送附件简历,然后这周接到面试的有七、八家公司,所以,当前这个大环境真的难 这半个月来,每天安排三到四场面试,平均每个公司至少都是两轮面试打底,经

    2024年02月03日
    浏览(10)
  • 软件测试-测试的概念,单元测试的详细介绍,如何设计测试用例

    软件测试-测试的概念,单元测试的详细介绍,如何设计测试用例

    作为测试工程师,你就必须掌握设计开发测试基础架构的关键技术。第三,随着自动化测试的规模化,测试数据准备的各种问题被逐渐暴露并不断放大,成为影响自动化测试效率以及稳定性的“拦路虎”。早期的传统测试数据准备方法,无论是从测试数据准备的时间成本,还

    2024年04月14日
    浏览(13)
  • 【AIGC调研系列】AI赋能软件测试的具体技术实现案例

    AI赋能软件测试的具体技术实现案例主要包括以下几个方面: 自动化测试 :AI技术可以通过编写自动化测试脚本,自动执行测试用例,从而提高测试效率。例如,Functionize是一个基于AI的自动化测试平台,使用机器学习和自然语言处理技术理解测试需求,生成测试用例,并自动

    2024年03月10日
    浏览(6)
  • 软件测试--应用JUnit进行单元测试

    软件测试--应用JUnit进行单元测试

    JUnit是一个开源的Java编程语言的单元测试框架,最初由 Erich Gamma 和 Kent Beck 编写。Junit测试是一种白盒测试工具。JUnit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。具有JUnit经验对于应用“测试驱动开发(TDD)”的程序开发模型是非常重要的。 JUnit本质上是一套框

    2023年04月12日
    浏览(8)
  • MemTest内存软件测试介绍说明-1

    MemTest86 History - from 1994 MemTest86 was  originally  developed by Chris Brady (BradyTech Inc) with a first release in 1994. However, some of the  testing algorithms  used have been under development since 1981 and have been previously implemented on Dec PDP-11, VAX-11/780 and Cray XMP architectures. Since then there has been more than a dozen new ver

    2024年02月16日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包