概述

在接口自动化的过程中,经常遇到需要遍历的参数组。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();

观察响应结果

写入的本地文件

Jmeter(四十二)_控制器下遍历一组参数的更多相关文章

  1. Jmeter(四十八)_动态线程分析HTML测试报告

    概述 jmeterGUI模式下,性能测试的结果往往误差很大,因为GUI本身就会消耗一部分资源.所以我们常常用命令行去跑性能脚本,得出结果 同时,jmeter在命令行下还可以生成多维度的测试报告,里面包 ...

  2. Jmeter(四十九)_常用的性能测试监听器

    概述 jmeter中提供了很多性能数据的监听器,我们通过监听器可以来分析性能瓶颈 本文以500线程的阶梯加压测试结果来描述图表. 常用监听器 1:Transactions per Second 监听动 ...

  3. Jmeter(四十二) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 -番外篇(详解教程)

    1.简介 为什么宏哥要对Jmeter的配置文件进行一下讲解了,因为有的童鞋或者小伙伴在测试中遇到一些需要修改配置文件的问题不是很清楚也不是很懂,就算修改了也是模模糊糊的.更有甚者觉得那是禁地神圣不可轻 ...

  4. Jmeter(三十二)_搭建本地接口自动化环境

    我们在学习接口自动化的时候,最理想的状态是在公司有项目可以操作.大部分时候我们并没有可以练习的项目,因此练习接口无从谈起,只能找一些开放的api来练一练,但是这样并不能提高我们的技术.因此我们需要搭建 ...

  5. NeHe OpenGL教程 第四十二课:多重视口

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. 网站开发进阶(四十二)巧用clear:both

    网站开发进阶(四十二)巧用clear:both 前言 我们在制作网页中用div+css或者称xhtml+css都会遇到一些很诡异的情况,明明布局正确,但是整个画面却混乱起来了,有时候在IE6下看的很正 ...

  7. Gradle 1.12用户指南翻译——第四十二章. Announce插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  8. “全栈2019”Java第四十二章:静态代码块与初始化顺序

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关

    0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...

随机推荐

  1. Spring源码——IOC控制反转

    1.基础知识 Spring有两个核心功能,分别是ioc和aop,其中ioc是控制反转,aop是切面编程. 在ioc中,还有一个名次叫DI,也就是依赖注入.嗯,好像IOC和DI是指同一个,好像又感觉他俩 ...

  2. 十二、vue中watch原理

    1.普通的watch 2.对象属性的watch:   对象和数组都是引用类型,引用类型变量存的是地址,地址没有变,所以不会触发watch.这时我们需要进行深度监听,就需要加上一个属性 deep,值为 ...

  3. 【Python】异常

    捕获异常 try: num = int(input("请输入一个整数:")) result = 8 / num print(result) except ValueError: p ...

  4. static 关键字在java语言中的特性

    ​ 一,将自己注入到一个静态变量中实现静态类,如下写法 以上方法的目的是要实现一个静态类,方便用类名获取对象实例,一般情况下调用普通方法需要对象实例.这对象要么new出来,要么spring的注入如下是 ...

  5. MSF MS12-020RDP漏洞攻击

    Metasploit利用远程桌面协议RDP拒绝访问漏洞(MS12-020) 漏洞描述:BUGTRAQ ID: 52354 CVE ID: CVE-2012-0152 远程桌面协议(RDP, Remot ...

  6. 调整DataTable的列顺序

    地址:https://www.cnblogs.com/gaocong/p/6490159.html 标题:DataTable 修改列名 删除列 调整列顺序 DataTable myDt =dt; // ...

  7. spring cloud (一) 服务注册中心 Eueka

    1 pom.xml 添加依赖包 <dependency> <groupId>org.springframework.cloud</groupId> <arti ...

  8. 代码优化 - 求数组中的第 K 个最大元素

    题目要求: 解法一: 直接用 sort 从大到小排序,取第 k 个 var findKthLargest = function (nums, k) { nums.sort((a, b) => { ...

  9. 多个线程分别顺序交替打印一种不同字符abcdefg(已实现随便多少个线程打印多少个字符,利用线程池实现多线程)

    下面实现多线程顺序打印字符"abcdefg": 实现Runnable接口: /** * @author: rhyme * @date: 2019-08-17 14:39 * @to ...

  10. object store in javascript