zoukankan      html  css  js  c++  java
  • jmeter-Parameters和Body Data两种方式传参的区别

    场景:使用Jmeter测试时,很多人不知道请求参数Parameters 、Body Data的区别和用途,经常混用,导致有时候请求出错却不知道原因

    先了解一个接口的基本概念:

    HTTP协议中包括GET和POST两种基本的请求方法,概念上两者的区别是:

    get:从指定的资源请求数据,请求参数受字符长度限制,并且参数值在URL体现,不安全
    post:向指定的资源提交要被处理的数据,参数长度不受限制,参数值不在URL体现,相对安全。

    Jmeter中包含Parameters和Body Data两种参数化的方式,区别是什么呢?

    使用Parameters时,Content-Type不传,或者直接传application/x-www-from-urlencoded,若传application/json请求会出错。
    使用Body Data时,Content-Type可传application/x-www-from-urlencoded或application/json,两者的区别是数据格式不同。

    所以Jmeter的Parameters和Body Data两种参数化方式,具体应该怎么使用呢?

    一般来说,Get请求用Parameters,Post请求用Body Data。

    精确的对于Post的说法是:

    普通的post请求和上传接口,选择Parameters。
    json和xml点数据格式请求接口,选择Body。
    详细来解释,根据post请求数据的格式,分两种情况:map格式、json格式。

    post请求数据为map格式:
    当post请求数据为map格式,即参数名、参数值为key-value键值对,请求的参数添加在Parameters参数表中即可,如下图:

     

     post请求数据为json格式:   
    目前阶段比较流行的是json格式传递参数,使用jmeter时,将json格式的请求数据加入到http请求BodyData中,如下图:

    注意:由于POST请求方式,如果不设置Headers的content-type,基本默认会以 application/x-www-form-urlencoded 方式提交数据。为了Post请求确保传的是json格式,还需要在请求头中声明一下请求参数的格式为json

  • 相关阅读:
    使用SetTimer函数为Delphi的Win控件设置时钟
    关于QT版本的安装配置的一些困惑
    Linux设备驱动开发详解-Note(11)--- Linux 文件系统与设备文件系统(3)
    邪恶的C++
    TControl的主要功能研究(属性,函数,事件)
    Delphi研究,对全局变量函数与OOP编程关系的一点体会 good
    QT 相关资源(书籍、论坛、博客等。。。)整理
    VC UI界面库大集合
    .net程序员求职简历
    C++著名程序库的比较
  • 原文地址:https://www.cnblogs.com/Frank-guo/p/15014122.html
Copyright © 2011-2022 走看看