• 在用jmeter做接口测试时,我们经常会遇到,一个接口返回一个json串,在这个json串中,某个节点的值是一个列表,而且这个列表的长度是动态变化的。如:

     

    获取用户列表,用户信息是个列表,类似的接口,在企业中非常常见,如果我们在接口中没有传递翻页参数时,这个列表的长度往往都是不固定的,随时变化的。

  • 如果你只想获取列表中已知索引位置的某个参数值,这个很简单,用个json提取器,或者用正则提取器+指定索引号,都能如愿提取出来。
  • 哪如果想要提取列表最后一个索引位置某个参数的值,怎么办呢?是不是,就用个‘-1’的索引号,就能解决呢?
    • 你是不是,也有这样一个问题?你是不是也是这样想的呢?
    • 然后......
    • 然后你干嘛了?你发现你用‘-1’实现不了,你又去百度,百度告诉你,用Beanshell,写一堆你不知所云的‘天书’(java代码)。你期望美梦成真(因为问题很简单,杀鸡已经用上了牛刀了),但是,理想很美好,现实很骨干,你的辛苦付出并没有获得应有的回报。老天啊,你不是耍我吧,一个这么简单的问题,你搞了我一整天啦,来个人,帮我把这些写代码忽悠人的都 ‘X’了吧(此时,你是不是怨声载道)。
    • 天涯何处不相逢,都是沦落人啊!
    • 只是,我可能‘山重水复疑无路,柳暗花明又一村’,发现了个‘隧道’
  • 正则+关联函数 获得动态列表最后一个索引位置的某个参数值
    • 先用正则提取器出所有的预期参数的值(如:我想提取data列表中所有id的值)

       
    • 此时,在调试取样器中,我们将看到如图:

       
    • 注意图中重点,有一个 ‘id_matchNr'=***,这是什么呢?这个就是匹配结果总数量,也就是说,这个值,告诉了我们列表的数量(前提是,正则表达式没有错)。看到了列表总长度,想到了什么?是不是直接用这个值作为列表索引,就能获得最后一个参数值了! bingo,思路有了,开干!
    • 关联函数__v, ${__V(id_${id_matchNr})} ${id_matchNr}是得到列表最大值,用一个关联函数,就得到列表最后一个的参数值。 注意: 列子中的’id' 是我们正则提取器中的存储“引用名称”
    • 验证:把关联函数${__V(id_${id_matchNr})},放入你需要的地方,运行后,查看该参数的值,再把列表拷贝出来,搜索看参数值是不是最后一个。
  • 到此,我们就完成了列表最后一个值的提取和使用及验证。

【柠檬班】jmeter 不写代码,秒秒钟提取动态列表最后一个值的更多相关文章

  1. JMeter接口测试-提取动态列表最后一个值的两种方法

    前言 在用JMeter做接口测试时,我们经常会遇到,一个接口返回一个json串,在这个json串中,某个节点的值是一个列表,而且这个列表的长度是动态变化的.今天我们来学习两种提取动态列表最后一个值的两 ...

  2. Jmeter 后置处理器JSON Extractor 提取json的多个值

  3. 【柠檬班】史上最简单的Jmeter跨线程组取参数值的两种办法(不写代码)【原创】

    如果你工作中已经在用jmeter做接口测试,或性能测试了,你可能会遇到一个麻烦,哪就是jmeter的变量值不能跨线程组传递.   看,官方就已经给出了解释.这个不是jmeter的缺陷,这是jmeter ...

  4. JMeter脚本java代码String数组要写成String[] args,不能写成String args[],否则报错。

    JMeter脚本java代码String数组中括号要写在类型关键字后面,不能写在变量名后面.

  5. Android 打造炫目的圆形菜单 秒秒钟高仿建行圆形菜单

    原文:Android 打造炫目的圆形菜单 秒秒钟高仿建行圆形菜单 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43131133, ...

  6. 请注意写代码的习惯与态度(Java)

    注: 以下内容引自http://blog.csdn.net/xtayfjpk/article/details/52136686 请注意写代码的习惯与态度(Java) 原创 2016年08月06日 16 ...

  7. jmeter测试java代码

    有时候总是要写代码的,不得不说你也得会,这不往下看 java请求了,就的写代码,那么先来实现一个类, package com.company.jemeters; public class Hello ...

  8. 秒秒钟破解eval加密

    前言  准确的说eval处理过的代码应该叫做压缩代码,不过效果上算是加密过了一样!很多小伙伴不想直接让别人看到自己的js代码往往就会采取这样的处理措施.不过,其实这样的方法只能防御那些小白.对于真正的 ...

  9. 云开发中的战斗机 Laf,让你像写博客一样写代码

    各位云原生搬砖师 and PPT 架构师,你们有没有想过像写文章一样方便地写代码呢? 怎样才能像写文章一样写代码? 理想的需求应该是可以在线编写.调试函数,不用重启服务,随时随地在 Web 上查看函数 ...

随机推荐

  1. wps10.1中将txt转为excel

    1.将想要保存的内容保存为txt格式,用分隔符分隔好(包括空格.制表符.英文的逗号以及分号四种). 2.打开wps 3.点击数据->导入数据,选择刚才的txt文件 4.一步步操作,即可.

  2. EOJ 2019.2月赛 D. 进制转换

    https://acm.ecnu.edu.cn/contest/140/problem/D/ 题意 求一个区间L,R中,在K进制表示下末尾恰有m个0的数字个数. 思路 末尾有m个0,就表示的是K^m的 ...

  3. 牛客暑假多校第二场 F trade

    题意: 白兔有n个仓库,每个仓库有啊ai个货物,在每个仓库白兔可以装上任意数量的货物,也可以卸下任意数量的货物,现在有k个圆形信号阻隔器,然后有m个顾客下个一个订单,每个顾客的收货量有一个上限, 在每 ...

  4. Codeforces 964C Alternating Sum

    Alternating Sum 题意很简单 就是对一个数列求和. 题解:如果不考虑符号 每一项都是前一项的 (b/a)倍, 然后考虑到符号的话, 符号k次一循环, 那么 下一个同一符号的位置 就是 这 ...

  5. CodeForces 346C Number Transformation II

    Number Transformation II 题解: 对于操作2来说, a - a % x[i] 就会到左边离a最近的x[i]的倍数. 也就是说 [ k * x[i] + 1,  (k+1)* x ...

  6. 牛客第七场 Sudoku Subrectangles

    链接:https://www.nowcoder.com/acm/contest/145/J来源:牛客网 You have a n * m grid of characters, where each ...

  7. CodeForces round 520 div2

    A:A Prank 题意:给定一个递增序列, 问最多能删除多少个连续数字,要求删除数字之后能还原成原来的数列. 题解:直接找就好了,为了方便可以使得第0个数字为0, 第n+1个元素为1001 代码: ...

  8. 微信小程序 自定义组件 多列选择器 对象数组 ObjectArray 自关联 三级联动

    使用方法 在 Page.json 注册组件 { "usingComponents": { "address-picker": "/component/ ...

  9. windows 服务 安装、卸载

    1.新建项目 选中windows服务 2.添加安装程序 3.修改安装代码 ServiceProcessInstaller processInstall; ServiceInstaller servic ...

  10. 快速了解TCP的流量控制与拥塞控制

    有关TCP你不能不知道的三次握手和四次挥手问题,点我跳转 流量控制 1. 滑动窗口 数据的传送过程中很可能出现接收方来不及接收的情况,这时就需要对发送方进行控制以免数据丢失.利用滑动窗口机制可以很方便 ...