专栏首页公众号-测试驿栈Jmeter(四十二)_控制器下遍历一组参数

Jmeter(四十二)_控制器下遍历一组参数

概述

在接口自动化的过程中,经常遇到需要遍历的参数组。jmeter在中,foreach控制器可以实现遍历参数,但是只能有一个入参。一旦遇到数组,foreach控制器表示我也无能为力。。。

为了解决这个问题,今天教大家一个实现数组遍历的方法

涉及元件

json表达式+循环控制器+计数器+matchNr函数+beanshell脚本

案例分析

首先我们来看一个例子 。在下图中,我们需要把三组返回值中的参数遍历写入本地文件。如省份:人口

首先我们需要把通过JSON Extractor把这三组参数提取出来

观察debug我们可以发现这三组数据都是成对出现的。{name_1,population_1};{name_2,population_2};{name_3,population_3}。总数是通过matchNr函数计算

添加一个循环计数器,循环次数为matchNr。意思就是统计出几组数据,脚本就遍历几次

在循环控制器下面添加计数器,用于指定数据读取的行数。最大值也是matchNr计算得出的数值

在控制器下面添加beanshell脚本,用于将读取的参数遍历写入本地文件。通过计数器的函数嵌套方式,遍历每一组数据,循环写入本地文件。

FileWriter fstream = new FileWriter("D:\\\参数表.txt",true);
BufferedWriter out =new BufferedWriter(fstream);
out.write(vars.get("name_${num}")+"人口"+":"+ vars.get("population_${num}")+"万");
out.write(System.getProperty("line.separator"));
out.close();
fstream.close();

观察响应结果

写入的本地文件

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Jmeter(四)_16个逻辑控制器详解

    1、 Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers a...

    飞天小子
  • 利用Docker安装Web前端性能测试工具Sitespeed.io

    Sitespeed.io满足了一个完整的Web性能测试工具所需的3个关键功能: 1)使用真实的浏览器测试Web站点,模拟真实的用户进行请求连接,收集以用户为中心...

    飞天小子
  • Jmeter(二)_基础元件

    它用来描述一个测试方案,包含与本次性能测试所有相关的功能。也就说本次测试的所有内容是于基于一个计划的。

    飞天小子
  • Java设计模式(十一)----组合模式

    组合模式 一、定义 二、结构 三、具体案例 四、适用性 五、...

    汤高
  • VB语言基础重要知识点21(冒泡排序法)

    刘金玉编程
  • 搭建教育直播源码中Hadoop运行环境的方法

      Hadoop是一个分布式系统基础架构,在大数据领域被广泛的使用,它将大数据处理引擎尽可能的靠近存储,Hadoop最核心的设计就是HDFS和MapReduc...

    万岳教育源码
  • 有趣的算法(八) ——红黑树插入算法

    有趣的算法(八)——红黑树插入算法 (原创内容,转载请注明来源,谢谢) 一、概述 红黑树是一种二叉平衡查找树。二叉查找树是二叉树,且树的根节点会比左节点大、比...

    用户1327360
  • python模拟表单提交(一)

    第二步: 使用工具分析浏览器提交的工具,可以用抓包工具。我使用的是火狐浏览器,本身就提供有这样的工具:

    py3study
  • 聊聊同步辅助类CountDownLatch

    本篇聊聊同步辅助类CountDownLatch,涉及内容基于JDK7。 1.概述 CountDownLatch允许一个或者多个线程一直等待,直到一组其它操作执行...

    JavaQ
  • 中兴Clove团队新书-Ceph之RADOS设计原理与实现(文末有抽奖)

    了解Ceph的人都知道,RADOS是整个Ceph的基础,也是整个Ceph的核心,但越是核心,越难掌握,想想看,单单RADOS的代码就有将近20W行之多,不经历好...

    用户2772802

扫码关注云+社区

领取腾讯云代金券