使用BeanShell写入内容到文件【JMeter】

这篇具有很好参考价值的文章主要介绍了使用BeanShell写入内容到文件【JMeter】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

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

二、提取

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

使用BeanShell写入内容到文件【JMeter】,软件测试,jmeter

使用BeanShell写入内容到文件【JMeter】,软件测试,jmeter

先来介绍下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文件是否存在,不存在会报错,所以需要先手动创建一个文件在目录下先,内容可以为空

java

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();

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

使用BeanShell写入内容到文件【JMeter】,软件测试,jmeter

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

2023最新Jmeter接口测试从入门到精通(全套项目实战教程)文章来源地址https://www.toymoban.com/news/detail-669828.html

到了这里,关于使用BeanShell写入内容到文件【JMeter】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jmeter 中 Beanshell 的使用

    目录 前言: Beanshell 介绍 常用内置变量 log vars 和 props vars 常用方法: props 常用方法: prev 综合运用 JMeter 是一个广泛使用的性能测试工具,它支持许多不同的测试技术和方法。其中,Beanshell 是一种常用的脚本语言,它可以用来自动化测试脚本的执行和参数化测试。 Beanshel

    2024年02月16日
    浏览(42)
  • jmeter-BeanShell预处理器与BeanShell后置处理器的使用

    BeanShell是一个小型嵌入式Java源代码解释器,具有对象脚本语言特性,能够动态地执行标准JAVA语法,并利用在JavaScript和Perl中常见的松散类型、命令、闭包等通用脚本来对其进行拓展。 前置处理器:请求发送之前对请求参数做一些处理 后置处理器:请求发送完成之后对响应数

    2023年04月17日
    浏览(31)
  • Jmeter进阶使用:BeanShell实现接口前置和后置操作

    我们使用Jmeter做压力测试或者接口测试时,除了最简单的直接对接口发起请求,很多时候需要对接口进行一些前置操作:比如提前生成测试数据,以及一些后置操作:比如提取接口响应内容中的某个字段的值。举个最常用的例子: 会员注册接口:需要使用电话号码作为入参,

    2024年02月12日
    浏览(35)
  • Jmeter(二十七):BeanShell PostProcessor跨线程全局变量使用

    在性能测试中,两个相关联的接口不一定都在同一个线程组,遇见这种情况时,我们要进行跨线程组传参,此处用登录和查询配送单两个请求举例; 1、登录请求中配置json提取器,将接口返回的token保存在变量中;  2、登录请求中配置BeanShell 后置处理程序,将token保存到全局

    2024年02月11日
    浏览(30)
  • Java创建txt文件并存入内容】—— 使用Java编写代码创建和写入文本文件

    Java创建txt文件并存入内容】—— 使用Java编写代码创建和写入文本文件 文件操作是在软件开发中常见的任务之一。在Java中,你可以使用标准的I/O类来创建和写入文本文件。下面是使用Java编写的示例代码,演示了如何创建一个txt文件并将内容写入其中。 以上代码演示了如何创

    2024年02月05日
    浏览(42)
  • JMeter 特殊组件-逻辑控制器与BeanShell PreProcessor 使用示例

      如果您觉得有用的话,记得给 博主点个赞,评论,收藏一键三连啊 ,写作不易啊^ _ ^。   而且听说 点赞的人每天的运气都不会太差 ,实在白嫖的话,那欢迎常来啊!!! 1. 逻辑控制器使用 流程: 1、选择你的HTTP请求; 2、单机右键-选择插入上级 3、选择逻辑控制器 1.1.

    2024年02月12日
    浏览(27)
  • 【Jmeter】JSON Extractor变量包含转义字符,使用Beanshell脚本来消除

            如果使用Jmeter的JSON Extractor提取的变量包含特殊字符,直接引用时会包含转义字符。可以使用Beanshell脚本来进行字符串转换,从而消除这些转义字符。

    2024年02月04日
    浏览(35)
  • 软件测试|使用Python生成PDF文件

    简介 PDF(Portable Document Format)是一种常用的文档格式,具有跨平台兼容性、保真性、安全性和交互性等特点。我们日常生活工作中的合同、报告、论文等通常都采用PDF格式,以确保文档在不同的操作系统(例如 Windows、Mac、Linux)和设备上被查看时都能保持外观的一致性。本

    2024年01月17日
    浏览(31)
  • 软件测试进阶之jmeter的性能测试和性能指标详解

    jmeter里头是脚本: 测试计划 线程组 http请求:接口请求控件 信息头管理器:请求头(content-type、token) 传参:类型:url传参(接口地址加上信息)、bodydata传参:通常用json格式传参,表单格式from-data get:获取资源、get用url post:传参、bodydata传参 查看结果树:查看响应结果

    2023年04月08日
    浏览(38)
  • 【软件测试】技术精选:Jmeter常见的几种报错

    这个错的含义是 没有连接到服务器地址,因此很可能是 内部网络中断导致。 这个和本地的线程数无关 可能原因是网络抖动不稳定导致 强制停止线程,连接中断产生的错误,正常压测我们等测试结束就好,不用强制停止 这个错误的导致是由于请求接口 设置的请求超时与 请

    2024年02月16日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包