JMeter基础:请求参数Parameters 、Body Data的区别

  

使用Jmeter测试时,很多人不知道请求参数Parameters 、Body Data的区别和用途,这里简单介绍下

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

在客户机和服务器之间进行请求-响应时,HTTP协议中包括GET和POST两种基本的请求方法,概念上两者的区别是:

get:从指定的资源请求数据。
post:向指定的资源提交要被处理的数据
最直观的表现就是:

GET把参数包含在URL中,POST通过request body传递参数将请求整体提交给服务器。所以接口测试时要区分两种方法对待。

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,两者的区别是数据格式不同。
可以从post data中看出区别:

Parameters的request请求数据:

body data的请求数据:

所以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,具体操作如下:

Thread Group右键Add》Config Element》HTTP Header Manager,打开HTTP信息头管理器,Add一个Name为Content-Type,Value为application/json,如下图,一个json格式的post请求完成了

原文地址:https://www.cnblogs.com/insane-Mr-Li/p/10686797.html

时间: 2024-10-12 06:15:15

JMeter基础:请求参数Parameters 、Body Data的区别的相关文章

发送请求时params和data的区别

在使用axios时,注意到配置选项中包含params和data两者,以为他们是相同的,实则不然. 因为params是添加到url的请求字符串中的,用于get请求. 而data是添加到请求体(body)中的, 用于post请求. 比如对于下面的get请求: axios({ method: "get", url: "http://www.tuling123.com/openapi/api?key=20ff1803ff65429b809a310653c9daac", pa

性能测试工具 Jmeter GET 请求 参数为 Json 串且参数中存在变量的转化

2.在BeanShell PreProcessor的实现: 原文地址:https://www.cnblogs.com/python-xiakaibi/p/11216485.html

Jmeter如何实现参数名词和个数动态变化的接口请求

需求分析在做接口自动化和性能测试,经常会遇到一些请求参数是根据上一个请求结果,动态变化的参数个数,参数名可能相同,也可能为序列递增格式,参数个数可能为10.20个,这样就导致手工不好模拟该请求效果,需要进行封装自定义函数才能实现该效果 Jmeter是一款开源的性能测试工具,目前是行业内使用率最高的性能测试工具之一,Jmeter是使用JAVA语言开发的,本文介绍如何使用JAVA语言开发自己需要的扩展函数 目前业界流行的两种开发模式,本文介绍第二种1.使用Jmeter二次开源环境,直接在org.ap

jmeter通过BeanShell 脚本,实现对http请求参数的加密

jmeter一直是一款很好的接口和性能测试工具,它是开源的,不需要为此支付任何费用,而且可以下载源码,可以在修改源代码并在此基础上拓展自己的功能或插件,它可以跟ant和jenkins结合起来搭建自己的自动化接口测试框架.它的好还在于它是纯JAVA开发的,因此,它可以更好的跟JAVA对接,通过引入自己封装的jar文件,可以方便的实现对jmeter各种个性化需求的功能的拓展,下面以一个实际例子来说明jmeter怎么引入自己开发的java工具类来实现对http请求参数的加密处理. 在此之前,我们假设有

接口测试工具-Jmeter使用笔记(二:GET/POST请求参数填写)

举例来说 我的被测系统API的http请求涉及到GET/POST/PUT/DELETE四种.请求传参可分为两种: GET请求 http://请求路径/Ecs-duHc0U4E #该请求参数"Ecs-duHc0U4"以斜杠形式传入 POST请求 http://请求路径?subnetCode=Subnet-tQSPwlp1&imageCode=image-djcgebxfd #该请求参数subnetCode和imageCode以问号形式传入 区别是:第一种解析的时候会把后面的字符当

Spring基础系列14 -- Spring MVC 请求参数的几种获取方法

Spring MVC 请求参数的几种获取方法 转载:http://www.cnblogs.com/leiOOlei/p/3658147.html 一.      通过@PathVariabl获取路径中的参数 @RequestMapping(value="user/{id}/{name}",method=RequestMethod.GET) public String printMessage1(@PathVariable String id,@PathVariable String n

Jmeter 实现上步请求返回结果 用于下步请求参数

1.新建测试计划,测试计划下方新增:HTTP请求默认值.HTTP信息头管理器.HTTP cookie管理器,见图 2.新建线程组,线程组下方新建事务控制器,见图 每一个事务控制器下方新增http请求 3.计数器实现批量新增不重复数据 4.引用计数器,批量生成数据 5.使用正则表达式提取器,实现上步请求返回结果 用于下步请求参数

zhuan:Jmeter基础之---jmeter基础概念

JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. 从性能工具的原理划分: Jmeter工具和其他性能工具在原理上完全一致,工具包含4个部分: (1)负载发生器:用于产生负载,通常以多线程或是多进程的方式模拟用户行为. (2)用户运行器:通常是一个脚本运行引擎,用户运行器附加在线程或进程上,根据脚本要求模拟指定的用户行为. (3)资源生成器:用于生成测试过程中服务器.负载机的资源数据. (4)报表生成器:根据测试中霍地的数据生

Jmeter Java请求

一.为什么要使用Java请求 现有的post . get 无法对加解密及鉴权的接口进行测试,需要进行封装,然后再请求,怎么进行封装?通常使用的方式是使用httpclient 工具类型来操作,下面举一个简单的Java自定义测试代码例子,使用Java编译器编写测试代码 二.完成以下几部曲即可 1.打开IDE(这里我使用的是 eclipse Luna 4.3),创建一个Java工程项目名为enterprise 2.从Jmeter的安装目录lib/ext中拷贝两个文件ApacheJMeter_core.