最近在用JMerter给公司一个项目做性能测试,期间遇到要提取上一个接口返回的数据作为下个接口的请求。这里做下记录

如图所示,需要将“扫描二维码”接口请求的返回值中的data部分,作为“处理提交码值”接口的参数传递给服务器。

首先我想到的是利用正则表达式,直接把整个data部分提取出来,

嗯,没错,是不是觉得一步就搞定了,还说个毛线。

但是.............

坑爹的是,服务端在接收data数据的时候,要对data数据做处理

首先,data以数组的形式传参(有可能一次提交多个码),

其次,data数组里边嵌套字典的形式,但是我传给服务端需要把""转义。。。(这里真的想吐血,请教下各位大佬,这种情况服务端不能做处理吗)

结果,要传递的值大概就是下面呈现的形式:(懵逼....)

所以,之前把整个data部分取出来的想法pass了。。。

好吧,我另辟蹊径,想着把每个参数单独取出来,下个接口在body里边先把"做成\",先转义,再把值引用进来(像是抠图一样的赶脚...)

说完就干,前面几个参数取值都OK,没什么难度,取boxList的时候有点犯难,这个参数前后一般都是","符号,没有明显的标志。

查了度娘,找了一种方法来取值:

把整个boxList全部取值(共6个),再用匹配数字去取第几个值。

这里有个小插曲,开始以为可以用【模板】里边的$1$这种去匹配表达式里边的6个取值,后面接口再用boxList_1、boxList_2........boxList_6来引用。后面发现不行...

【模板】$1$$2$代表的是,正则表达式中有多个提取式(多个括号里边的东东),第一个取值和第二个取值怎么组合形式

比如:正则表达式提取出来两个值,一个是lixiaoming,一个是24,如果【模板】写成$1$$2$,那么后面应用的时候,这个参数展现就是“lixiaoming24”(中间可以加其他连接符,有时候取多个值,再以某种形式组合成一个参数,这种可能会用到)

好,值取出来了。然后添加了6个正则提取器(请教大佬,这种后置处理器添加太多,对性能测试本身会有多大影响呢)

大致的形式就是这样的:(....我也很无奈...)

后面接口,用boxList1....boxList6引用,OK,没问题。

后面经理给我说有一个叫JSON Path Extractor的插件,用来提取服务器返回的json中的数据很好用。(what?!居然之前没有使用过这等插件)

马上相会度娘,找了几篇测友发的经验之谈,哇靠,果真简单粗暴....

马上招来玩玩,啊呸,马上学些学习~

下载了插件,然后学着写提取表达式

data里边的数据可以看做是字典里边嵌套数组的形式,操作字典引用key,数组的话用索引去取值

于是表达式为:$.data.boxList[0]

另外,网上也找了另一种,data是数组里边嵌套字典的,学习学习

提取id的表达式为:$.data[0].id

OK,新方法果然比正则表达式好用(自我觉得),而且也比较好理解

另外,在添加了正则表达式,JSON Path Extractor等提取器,想查看表达式写的是否正确,提取的内容是否正确。"查看结果树"可以做到

在结果树中选择“RegExp Tester”,输入你写的正则表达式,就能知道正则是否写正确了。

同理,JSON Path Extractor一样

OK,写完了。这次还是有不少收获,后面再对JMeter系统学习学习。

如果文中有些错误点,希望各位大佬及时指出,定虚心接受~

JMeter----正则表达式&JSON Path Extractor的更多相关文章

  1. Jmeter之Json Path Extractor 接受上一个请求的响应参数

    最近在使用Jmeter进行接口测试,被一个问题困扰了很久,就是第二个请求如何接收上一个请求响应中的参数,刚开始尝试着用网上普遍说的正则表达式,长了了N多次之,都没有达到我想要的效果,被整的够惨,于是, ...

  2. Jmeter之JSON Path Extractor的使用(JSON-handle下载安装和使用)

    jp@gc - JSON Path Extractor和“正则表达式提取器”使用效果一样. 他的作用单一,只提取json数据 jp@gc - JSON Path Extracto 变量名自己定义,js ...

  3. Jmeter 中JSON Path Extractor高级用法

    好久没玩jemter了,由于项目原因又重新拾起.在使用JSON Path Extractor(jmeter 4.0已经默认支持了,4.0以下要自行安装插件)时,可以进行条件过滤,不用再自行写shell ...

  4. JMeter安装JSON Path Extractor插件

    下载地址:https://jmeter-plugins.org/wiki/PluginsManager/ 先下载jmeter-plugins-manager-1.3.jar,点击下图中的JAR fil ...

  5. JMeter 插件 Json Path 解析 HTTP 响应 JSON 数据(转)

    JMeter 是一个不错的负载和性能测试工具,我们也用来做 HTTP API 接口测试.我们的 API 返回结果为 JSON 数据格式.JSON 简介,JSON 教程. JSON 已经成为数据交换格式 ...

  6. JMeter 插件 Json Path 解析HTTP响应JSON数据

    一.基本简介 JMeter 是一个不错的负载和性能测试工具,我们也用来做 HTTP API 接口测试.我们的 API 返回结果为JSON数据格式.JSON 简介,JSON 教程. JSON 已经成为数 ...

  7. JSON Extractor/jp@gc - JSON Path Extractor 举例2

    测试描述 使用json返回结果做校验 测试步骤 1.配置http请求 2.根据结果树返回的json,取值 { "status_code":200, "message&qu ...

  8. JSON Extractor/jp@gc - JSON Path Extractor 举例

    测试描述 使用json返回结果做校验 测试步骤 1.配置http请求 2.根据结果树返回的json,取值 {"status_code":200,"message" ...

  9. 通过JMETER后置处理器JSON Path Extractor插件来获取响应结果

    学生金币充值接口:该接口有权限验证,需要admin用户才可以做操作,需要添加cookie.cookie中key为登录的用户名,value从登录接口中获取,登陆成功之后会返回sign. 通常做法是在HT ...

随机推荐

  1. 20165213 java学习第一周

    20165213 -2018-2<Java程序设计>第一周学习总结 教材学习内容总结 java的四个特点:面向对象.平台无关性.动态性.简单. java编写程序步骤:再有jdk的情况下,先 ...

  2. Minimum Window Substring LT76

    Given a string S and a string T, find the minimum window in S which will contain all the characters ...

  3. jquery plugin 之 form表单验证插件

    基于h5表单验证系统.扩展了对easyui组件的支持 先上图: 提示样式用到了伪对象的 {content: attr(xxx)}函数方法,实现提示信息能动态切换. 1.关键属性说明: type: 表单 ...

  4. 如何上传Packages到PyPI并批量抓取

    1.如何上传包到PyPI ? 更新中... 2.批量抓取simple网站第三方模块 https://pypi.python.org/simple/ 3. 第三方模块的安装和使用 python  set ...

  5. 【Redis】Redis cluster集群搭建

    Redis集群基本介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施installation. Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行 ...

  6. day10作业—(闭包迭代器递归)

    补充:一个星号的  打散和聚合 a, b , *c = [1,2, 1,4] print( a , b , *c) #1 2 1 4 print(a, b, c) #1 2 [1, 4] *c , = ...

  7. Django的学习(一)————初入django

    一.基本指令 1.项目的建立: Django的项目建立,进入目录,打开cmd输入 django-admin startproject[项目名称],注意如果是在其他文件下把项目设计成资源文件. 2.Ap ...

  8. 百度地图足迹demo(多点轨迹生成)

    不要忘记引用JQuery//~~~<script src="jquery-1.7.1.min.js" type="text/javascript"> ...

  9. 高性能Java RPC框架Dubbo与zookeeper的使用

    https://blog.csdn.net/qq_38982845/article/details/83795295

  10. oracle在exp导出时报错PLS-00201: identifier 'EXFSYS.DBMS_EXPFIL_DEPASEXP' must be declared

    报错如下信息: EXP-00008: ORACLE error 6550 encounteredORA-06550: line 1, column 14:PLS-00201: identifier ' ...