使用BeanShell写入内容到文件

一、前言

​ 在我们日常工作中,可能会遇到需要将请求返回的数据写入到文件中。在我们使用JMeter进行性能测试时,就经常能够遇到这种情况。要想达到这种目的,我们一般采取BeanShell后置处理器来将内容写入到文件。

二、提取

​ 在目前大多数的性能测试中,都是以JSON形式返回结果。因此我们这边以JSON提取器为例进行提取。

先来介绍下JSON提取器吧

  • Main sample and sub-samples:匹配范围包括当前父取样器并覆盖子取样器
  • Main sample only:匹配范围是当前父取样器(最常用的一种情况)
  • Sub-samples only:仅匹配子取样器
  • JMeter Variable Name to use:支持对 Jemter变量值进行匹配
  • Names of created variables:变量名
  • JSON Path expressions:我们需要提取的JSON值对应位置
  • Match No.:0 代表随机取值,n取第几个匹配值,-1匹配所有
  • Compute concatenation var:如果找到许多结果,则插件将使用’,‘分隔符将它们连接起来,并将其存储在名为 _ALL的var中
  • Default Value:如果参数没有取得到值,那默认给一个值让它取

三、写入

​ 到了这里就要开始写脚本了哦,这里我们直接上代码,根据提取的数据不同,我们的脚本也不同(这里就比较考验大家的思维了),在这里我们有一点需要注意,JMeter脚本在执行时,会先检查csv文件是否存在,不存在会报错,所以需要先手动创建一个文件在目录下先,内容可以为空

import java.io.*;
FileWriter fstream = new FileWriter("E:\\stuId2.csv",true); // true表示追加模式
BufferedWriter out=new BufferedWriter(fstream);
var num=vars.get("stuId_matchNr"); // 获取JSON提取器中提取的数据
for(int i=1;i<=(Integer.parseInt(num));i++){
log.info(vars.get("stuId_"+i));
out.write(vars.get("stuId_"+i)+"\n"); // 写入数据到csv中并换行
}
out.close();
fstream.close();

这样就提取到了我们需要的数据了,进而可以将数据运用到我们的待测脚本中进行参数啊

以上就是这节的全部内容,如有错误,还请各位指正!

【JMeter】使用BeanShell写入内容到文件的更多相关文章

  1. jmeter将参数值写入到指定文件

    有时在测试过程中需要将测试过程中生成的参数保存下来,jmeter并没有此类功能,此时,可以 通过beanshell编写代码来实现 思路: 每次请求响应返回后,通过正则表达式获取到需要保存的值,通过Be ...

  2. jmeter将参数值写入到指定文件(转)

    有时在测试过程中需要将测试过程中生成的参数保存下来,jmeter并没有此类功能,此时,可以 通过beanshell编写代码来实现 思路: 每次请求响应返回后,通过正则表达式获取到需要保存的值,通过Be ...

  3. python从命令窗口启动脚本 创建并写入内容到文件示例

    写入到文件示例: #!/usr/bin/env python3 from math import exp, log, sqrt import re from datetime import date, ...

  4. 关于java中创建文件,并且写入内容

    以下内容完全为本人原创,如若转载,请注明出自:http://www.cnblogs.com/XiOrang/ 前两天在项目中因为要通过http请求获取一个比较大的json数据(300KB左右)并且保存 ...

  5. Win10系列:JavaScript写入和读取文件

    正如上面的内容中所提到的,文件保存选取器用于保存文件,通过Windows.Storage.Pickers命名空间中的FileSavePicker类的pickSaveFileAsync函数可以向指定的文 ...

  6. php 写内容到文件,把日志写到log文件

    php 写内容到文件,把日志写到log文件 <?php header("Content-type: text/html; charset=utf-8"); /******** ...

  7. 快速php日志,写内容到文件,把日志写到log文件

    php 写内容到文件,把日志写到log文件 //记录日志:要写入文件的文件名(可以是任意文件名),如果文件不存在,将会创建一个.log.txt位置在项目的根目录下. $file = 'log.txt' ...

  8. JMeter中BeanShell实现写入文件

    1.首先F:\test.txt文件为空

  9. jmeter beanshell 写入文件

    1.首先F:\test.txt文件为空

  10. Jmeter返回参数值写入文件《一》

    在用Jmeter做自动化测试的时候,某些特殊情况下我们需要将Jmeter的返回的某个特殊值写入的文件中,那么我们该如何做呢? 对于Jmeter这个工具来说,我们不难知道,它是一个java开源的可扩展的 ...

随机推荐

  1. 2021-05-18:Nim博弈。给定一个正数数组arr,先手和后手每次可以选择在一个位置拿走若干值, 值要大于0,但是要小于该处的剩余。谁最先拿空arr,谁赢。根据arr,返回谁赢 。

    2021-05-18:Nim博弈.给定一个正数数组arr,先手和后手每次可以选择在一个位置拿走若干值, 值要大于0,但是要小于该处的剩余.谁最先拿空arr,谁赢.根据arr,返回谁赢 . 福大大 答案 ...

  2. Matplotlib.pyplot.plot 绘图

    Matplotlib.pyplot 创建图形.在图形中创建创建一个绘图区域.在绘图区域中你那个绘制一些线.在图形中添加标签之类 画二维平面图 x = np.arange(0, 10, 2) y1 = ...

  3. nc工具利用

    c: 瑞士军刀/网络测评工具    将本地的cmd 权限移交到外网 nc工具:应用    本地cmd打开, 输入  nc -e cmd 远程ip  5577  #连接到远程ip的5577 远程cmd打 ...

  4. Python3 解决pip报ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)

    ERROR: Could not install packages due to an EnvironmentError: HTTPSConnectionPool(host='files.python ...

  5. 一分钟学一个 Linux 命令 - ls

    前言 大家好,我是 god23bin.今天我给大家带来的是 Linux 命令系列,每天只需一分钟,记住一个 Linux 命令不成问题.今天,我们要介绍的是一个常用而又强大的命令:ls(list). 什 ...

  6. Golang 协程/线程/进程 区别以及 GMP 详解

    Golang 协程/线程/进程 区别详解 转载请注明来源:https://janrs.com/mffp 概念 进程 每个进程都有自己的独立内存空间,拥有自己独立的地址空间.独立的堆和栈,既不共享堆,亦 ...

  7. 【python基础】循环语句-continue关键字

    1.continue关键字 continue关键字的作用是:用来告诉 Python 跳过当前循环代码块中的剩余语句,然后继续进行下一轮循环. 其在while循环和for循环中的作用示意图如下 我们通过 ...

  8. Python生成指定大小的文件

    转载请注明出处️ 作者:测试蔡坨坨 原文链接:caituotuo.top/400bd75c.html 你好,我是测试蔡坨坨. 在日常测试工作中,我们经常需要对上传的文件大小进行测试,例如:一个文件上传 ...

  9. java调用WebService(未完成)记录篇

    背景: 因工作需要和一个Sap相关系统以WebService的方式进行接口联调,之前仅听过这种技术,但并没有实操过,所以将本次开发相关的踩坑进行记录 通过一个实例来认识webservice 服务端 首 ...

  10. 【promptulate专栏】ChatGPT框架——两行代码构建一个强大的论文总结助手

    本文节选自笔者博客:https://www.blog.zeeland.cn/archives/019hasaa 前言 如果你经常阅读论文,那么你肯定会遇到以下几个问题: 论文晦涩难懂看不明白怎么办? ...