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

软件测试:HttpUnit简单介绍和案例应用带大家一起了解一下什么是HttpJUnit,同时也做了一个小的测试案例供大家学习,一起进步~~~😁😁😁😁😁😁希望大家多多关注,您的鼓励将是我最大的动力!博主主页(不许代码码上红):https://blog.csdn.net/qq_45801904?spm=1010.2135.3001.5421文章目录一、什么是HttpUnit?二、工作原理?三、特点?四、JUnit?4.1什么是JUnit?4.2环境配置:安装Junit4.3环境配置:下载HttpJUnit4.4环境配置:配置Ht.

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

在这里插入图片描述

一、什么是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

在这里插入图片描述

在这里插入图片描述

4.3环境配置:下载HttpUnit

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

在这里插入图片描述
在这里插入图片描述

4.4环境配置:配置HttpUnit

第一步,在idea中创建一个lib目录:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第二步,将下载的HttpUnit压缩包解压,把lib中的包和jars中的包全部导入到lib中:
在这里插入图片描述

五、案例!

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服务器,输入姓名贝吉特点击提交

在这里插入图片描述

在这里插入图片描述

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简单介绍和案例应用分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30839.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注