在使用jmeter进行接口测试时,我们难免会遇到需要从上下文中获取测试数据的情况,这个时候就需要引入变量了。

定义变量

使用变量

变量的调用方式:${变量名}

变量的作用范围:变量可以写入任何测试组件的任何字段中(除了TestPlan)

以博客园的接口为例:

Url: https://recomm.cnblogs.com/api/v2/recomm/blogpost/reco

HTTP Method: Post

Request:
{"itemId":11343866,"itemTitle":"Jmeter 01 Jmeter下载安装及入门"} Response:
[{"itemId":"8971531","title":"使用JMeter进行压力测试","content":null,"url":"https://www.cnblogs.com/stulzq/p/8971531.html"},{"itemId":"4709031","title":"JMeter入门","content":null,"url":"http://www.cnblogs.com/s380774061/p/4709031.html"},{"itemId":"9413237","title":"Jmeter下载安装配置及使用(windows)","content":null,"url":"https://www.cnblogs.com/fanbi/p/9413237.html"},{"itemId":"5639895","title":"Jmeter使用入门","content":null,"url":"http://www.cnblogs.com/ceshisanren/p/5639895.html"},{"itemId":"7094047","title":"JMeter入门","content":null,"url":"http://www.cnblogs.com/iceb/p/7094047.html"}]





从上下文中获取变量

例如上面的接口,我们想要再请求一次,而request需要从上一次的响应数据中获得,比如我们需要第一次请求的response中的itemId和title作为下一次请求的request

{"itemId":"8971531","title":"使用JMeter进行压力测试","content":null,"url":"https://www.cnblogs.com/stulzq/p/8971531.html"}

那么就需要用到一个配置元件JSON提取器

右键http请求->添加->后置处理器->json提取器





JSON提取器参数说明:

参数 说明
Apply to
Main sample and sub-samples 主sample及子sample
Main sample only 主sample
Sub-samples only 子sample
JMeter Variable Name to use 变量名
JSON Path Expression json表达式(想要获取的值在响应数据中的什么位置)
Match No.(0 or Random) 匹配第几个,不填写是获取符合条件的第一个,0为随机、N为第N个、-1为获取所有
Compute comcatemation var(suffix_ALL) 如果找到了很多结果,插件将使用','分隔符连接它们,并将其存储在一个名为<变量名>_ALL的变量中
Default Values 当没有获取到参数值时的默认值

Jmeter 04 Jmeter变量的使用的更多相关文章

  1. Jmeter 04 JMeter 负载与监听

    1. 场景设计 2. 场景设置 3. JMeter性能参数配置 4. 测试监听

  2. Jmeter属性和变量

    一.Jmeter中的属性: 1.JMeter属性统一定义在jmeter.properties文件中,我们可以在该文件中添加自定义的属性 2.JMeter属性在测试脚本的任何地方都是可见的(全局),通常 ...

  3. Jmeter -- 属性和变量

    一.Jmeter中的属性: 1.JMeter属性统一定义在jmeter.properties文件中,我们可以在该文件中添加自定义的属性 2.JMeter属性在测试脚本的任何地方都是可见的(全局),通常 ...

  4. Jmeter中的变量(三)

    变量(Variables) Jmeter中的变量(参数化)目的是为了提供改变请求变化的机制.比如登录场景,一般不能使用同一个账号做并发操作. 变量的特点 1) JMeter变量对于测试线程而言是局部变 ...

  5. 详解JMeter函数和变量(转载)

    详解JMeter函数和变量(1) JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试元件所引用.函数调用的语法如下: ${__functionName(var1,var2,var ...

  6. 【jmeter】jmeter环境搭建

    一. 工具描述 apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性.度量被测试软件的性能.设计jmeter的初衷是测试web应用,后来又扩充了其它的功能.j ...

  7. JMeter(5) JMeter之BeanShell使用

    BeanShell介绍 BeanShell是用Java写成的,一个小型的.免费的.可以下载的.嵌入式的Java源代码解释器,具有对象脚本语言特性.本篇只记录一下基本的使用.有以下五个组件: Beans ...

  8. JMeter接口测试-JMeter+ant实现接口自动化测试

    前言 小伙伴们,用python做接口自动化是不是写代码比较繁琐,而且没有python代码基础的小伙伴根本无从下手对吧!今天我们来学习一下如何使用JMeter工具实现接口自动化测试. 1.安装JDK,配 ...

  9. Jmeter入门(1)- 什么是Jmeter以及Jmeter的安装和环境配置

    一. Jmeter简介 Jmeter时Apacha公司使用Java平台开发的一款测试工具 二. Jmeter可以做什么 Jmeter可以用来做接口测试.性能测试.压力测试.数据库测试.Java程序测试 ...

随机推荐

  1. mysql 递归查找所有子节点

    select dept_id from ( select t1.dept_id,t1.parent_id, if(find_in_set(parent_id, @pids) > 0, @pids ...

  2. LOJ #6145. 「2017 山东三轮集训 Day7」Easy 点分树+线段树

    这个就比较简单了~ Code: #include <cstdio> #include <algorithm> #define N 100004 #define inf 1000 ...

  3. PyCharm中Qt Designer+PyUIC配置

    本文环境配置: 系统=>windows10:64位 语言=>Python:3.7.1 第三方库PyQT5:5.11.3pyqt5-tools:5.11.3.1.4 工具=>PyCha ...

  4. 我不熟悉的vector

    构造函数 使用迭代器构造vector的一种方式: //将v[begin(), end())区间中的元素拷贝给本身 vector(v.begin(),v.end()); 在这个构造函数中,传入普通数组也 ...

  5. Spring配置文件beans标签报错问题解决

    因为有很多配置是复制过来的,附带的很多注释的格式会导致报错,所以可以要试试把注释去掉,只有配置文件的话可能就不会报错了.

  6. String Compression

    F. String Compression 利用dp和前缀数组来写 dp[i] 所表示的东西是 字符串 s[0:i] (不包括 s[i])能够压缩的最短长度 bj[i][j] 表示的是字符串 s[i: ...

  7. ORA-01440:要减小精度和标准,则要修改的列必须为空

    修改字段的精度时,提示“ ORA-01440:要减小精度和标准,则要修改的列必须为空 ” 解决方法:将该表中的数据全部删除即可

  8. Unity3D_(API)场景切换SceneManager

    Unity场景切换SceneManager 官方文档:传送门 静态方法 创建场景 CreateScene Create an empty new Scene at runtime with the g ...

  9. [BZOJ2286][Sdoi2011]消耗战(虚树上DP)

    2286: [Sdoi2011]消耗战 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 6457  Solved: 2533[Submit][Statu ...

  10. java中 在一个异常处理中什么语句块是可多个的

    MM们 异常处理一般格式:捕获异常:try{//代码块}catch(异常类型,例如:Exception e){//需要抛出的异常,例如:e.printStackTrace();}catch(异常类型) ...