• Jmeter的HTTP请求实例


    HTTP请求中,Content-Type格式包括:

    1.application/x-www-form-urlencoded

    2.multipart/form-data   图片上传

    3.application/json;charset=UFT-8

    4.text/xml;charset=utf-8

    一、application/json;charset=UFT-8请求

    1、新建一个线程组,名称:HTTP请求

    2、点击HTTP请求,点击添加,选择sampler,选择HTTP请求,名字修改为:JSON数据格式的请求,选择请求方法:POST,输入请求地址

          由于Content-Type为application/json;charset=UFT-8,请求头参数应放在Body Data,复制请求参数到 Body Data输入文本框

    3、添加HTTP请求头:测试计划——HTTP请求,右击——添加——配置元件——HTTP信息头管理器,一般信息头管理器应放在HTTP请求之前,我们在这里手动将HTTP信息头管理器移动到HTTP请求上面

         添加请求头信息

    4、添加结果树

         结果树可以查看一个线程组或整个测试计划里的所有线程组的请求结果,所以可以放在线程组也可以放在测试计划里

    5、执行测试用例,查看结果

     二、XML格式的请求

    1、再添加一个HTTP请求,名称:XML格式的HTTP请求

          问题来了,这个线程组里已经有了一个信息头管理器,那XML格式请求的信息头管理器怎么放?难道需要新建一个线程组?

          这时我们可以用线程组里的逻辑控制器来解决该问题

          HTTP请求——右击——添加——逻辑控制器——简单控制器,修改名称为JSON格式控制器,然后将JSON格式请求对应的HTTP信息头和HTTP请求放在JSON格式的简单控制器里

          简单控制器有2个好处,一个是可以把测试用例有组织的管理器来,第二个是能够让测试用例按照我们所设置的顺序执行

          再添加一个简单控制器,名称为XML格式控制器,把XML格式的HTTP请求加进去

          请求方式为POST,添加请求地址和请求参数,因为Content-Type为 text/xml; charset=utf-8,请求参数放在Body Data输入文本框里

    2、在XML格式控制器里添加HTTP信息头管理器,将请求头信息添加进去

    3、执行,查看请求结果

    三、application/x-www-form-urlencoded格式的请求

           application/x-www-form-urlencoded的请求参数,应该放在Parameters里,其他同二

    四、multipart/form-data格式的请求

     以在某网站上传图片为例,但上传图片前需要先登录,而登录的Content-Type请求方式为application/x-www-form-urlencoded,图片上传的请求方式为multipart/form-data,因此需要在multipart/form-data格式控制器里,再增加一个简单控制器,用于网站登录

    先写登录请求,同上

    图片上传请求:需要勾选use multipart/from-data for POST

    请求参数的图片信息放在Files Upload,其他信息放在Parameters

     查看结果树

    在这里有个问题,如果继续写其他接口的测试,那每次请求数据里都要加上cookie,这里有一种更加便捷的方法,添加HTTPcookie管理器,能自动保存cookie,发送请求时,自动将cookie一起发送。

    总结:1、一个简单的测试用例包括HTTP请求、HTTP信息头管理、结果树

               2、可以通过简单控制器来管理用例

               3、application/json、text/xml;charset=utf-8的请求数据放在Body Data,application/x-www-form-urlencoded的请求参数放在Parameters,图片数据放在multipart/form-data。

  • 相关阅读:
    python--DenyHttp项目(2)--ACM监考客户端测试版☞需求分析
    python--DenyHttp项目(1)--调用cmd控制台命令os.system()
    python--DenyHttp项目(1)--GUI:tkinter☞ module 'tkinter' has no attribute 'messagebox'
    python--DenyHttp项目(1)--socket编程:服务器端进阶版socketServer
    python--DenyHttp项目(1)--socket编程:客户端与服务器端
    python生成excel格式座位表
    PythonTip--一马当先--bfs
    python pygame--倒计时
    修改Hosts文件,禁止访问指定网页
    字符串常用-----atof()函数,atoi()函数
  • 原文地址:https://www.cnblogs.com/zyamei/p/11232017.html
Copyright © 2020-2023  润新知