一、__StringFromFile
  功能介绍:
  从文件中读取一行数据,所有线程共享行数,依次读取,默认路径为$JMETER_HOME/bin/
  ${__StringFromFile(参数 1,参数 2,参数 3,参数 4)}
  参数 1:文件路径(包括文件名),必选,可输入 java.text.DecimalFormat 的格式
  ①pin#'.'dat,表示匹配文件 pin1.dat,pin2.dat……pin999.dat
  ②pin000'.'dat,表示匹配文件 pin001.dat,pin002.dat……pin999.dat
  ③pin'.'dat# -> pin.dat1, ... pin.dat9 ... pin.dat999  
  参数 2:注册变量名,可选
  参数 3:起始序列号,可选
  参数 4:结束序列号,可选,若起始序列号为空,表示该文件循环计数的次数
  1.1  单文件顺序循环读取
  
   
  

  结果解释:

  1、当线程迭代次数大于该文件内行数时,回循环重复读取文件内容

  2、一个线程读取完毕,接下一个线程重新读取文件,可以理解为读取文件时数据是线程独立的。

  1.2  多文件顺序读取

  前提:这里准备了3个文件,依次取 test1.txt,test2.txt,test3.txt 三个文件,每个文件3行数据一共9行,文件内容如下:

  

  1.2.1 情况一:采样迭代次数小于所有文件总行数

  

  

  结果解释:

  1、预设采样总迭代次数小于所有文件总行数,采样结果以迭代次数为准。

  2、所有线程逐个迭代,一个线程迭代完成后,下一个线程继续迭代读取剩下的文件内容。

  1.2.2 情况二:采样迭代次数大于所有文件总行数

  

  

  

  结果解释:

   1、预设采样总迭代次数大于所有文件总行数,采样结果以文件行数为准。

   2、这里有9行,但实际读取结果为8行的原因是Jmeter自动将第一个文件的第一行忽略了,不影响测试结果。

   3、印证了场景一结论第三条,线程一6次迭代完成后,线程二迭代开始并迭代剩下的2条数据,没有发生重复迭代。

  1.3  单文件循环读取,取 test1.txt 文件中的下一行,并循环 10 次
  1.3.1 文件总行数小于线程总迭代次数

  

   

   

   结果解释:

   1、当文件总行数小于线程总迭代次数时,以总行数为准

   2、印证了场景一结论第三条,线程一20次迭代完成后,线程二迭代开始并迭代剩下的9条数据,没有发生重复迭代。

   1.3.2 文件总行数大于线程总迭代次数

  

   

   

   结果解释:

   1、文件总行数大于线程总迭代次数时,以总迭代次数为准

   2、印证了场景一结论第三条,线程一10次迭代完成后,线程二继续迭代直到迭代完成,没有发生重复迭代。

二、__StringToFile

  功能介绍:
  将字符串写入文件,包括覆盖和追加两种方式,换行需要加上\n
  ${__StringToFile(参数 1,参数 2,参数 3,参数 4)}
  参数 1:文件路径(包括文件名),必选
  参数 2:要写入的内容
  参数 3:true 表示追加,false 表示覆盖,默认为追加
  参数 4:文件为编码,默认为 utf-8
  

通过循环控制器循环写入:

  

  注意:如路径下不存在文件,文件将会被创建。

三、__FileToString

  功能介绍:
  将文件转换为字符串,默认路径为$JMETER_HOME/bin/
  ${__FileToString(参数 1,参数 2,参数 3)}
  参数 1:文件路径(包括文件名),必选
  参数 2:文件编码,如:utf-8,可选
  参数 3:存储的变量名,可选
  

  

四、__CSVRead

  功能介绍:
  将文件转换为字符串,默认路径为$JMETER_HOME/bin/
  ${__CSVRead(参数 1,参数 2)}
  参数 1:文件路径(包括文件名),必选
  参数 2:第几列,必选
  

  

  结果解释:

  采用${__CSVRead(wade/18.5/csv.txt,0)}${__CSVRead(wade/18.5/csv.txt,next)} 的方式实现自动获取下一行数据,搭配循环。

  

Jmeter学习:文件类函数的更多相关文章

  1. JMETER学习宝典

    1. 简介 Apache JMeter是100%纯java桌面应用程序,被设计用来测试客户端/服务器结构的软件(例如web应用程序).它可以用来测试包括基于静态和动态资源程序的性能,例如静态文件,Ja ...

  2. JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置

    众所周知,在进行接口测试的过程中,需要创建不同的场景(不同条件的输入,来验证不同的入参的返回结果).因而,在日常的自动化接口监控或商品监控等线上监控过程中,需要配置大量的入参来监控接口的返回是否正确. ...

  3. JMeter学习-002-JMeter环境配置

    本节主要介绍 JMeter 本地环境配置(JMeter 版本为 apache-jmeter-2.12),详细配置如下: 一.JDK配置 默认用户本地已经安装且配置好 JDK.若未配置,敬请参阅我的博客 ...

  4. JMeter学习-018-JMeter 配置元件之-HTTP信息头管理器-实现 Cookie 登录

    之前写过一篇通过[HTTP Cookie管理器]实现登录态操作的文章,使用时需要配置每个键值对(如下图所示),相对来讲配置比较繁琐.其实,我们也可通过在[HTTP信息头管理器]添加 Cookie 信息 ...

  5. 【转载】JMeter学习(一)工具简单介绍

    JMeter学习(一)工具简单介绍 一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静 ...

  6. JMeter学习-015-JMeter 断言之-Bean Shell Assertion

    前面的博文中有对 JMeter 中的 响应断言 进行了讲解并实例演示,详情敬请参阅博文:JMeter学习-007-JMeter 断言实例之一 - 响应断言. 在 JMeter 中总计提供了如下几种 B ...

  7. JMeter学习-014-JMeter 配置元件实例之 - 用户定义的变量 参数化配置

    前文讲述了通过 CSV Data Set Config 实现参数化配置(详情敬请参阅:JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置), ...

  8. JMeter学习-012-JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录

    前文我们讲过了若何获取登录后的 Cookie 信息,不知如何获取登录 Cookie 的朋友,敬请参阅我之前写的博文:Fiddler-005-获取 Cookie 信息.参阅上篇文章,获取到 Cookie ...

  9. JMeter 学习笔记从不懂慢慢提升(01)

    开源已经成为一个趋势,虽然说做测试是一个低端的行业,但是我们也应该在这个低端的行业慢慢提升自己,让自己到达理想的高度. 以前说如果你会使用loadrunner可能别人就会觉得你有一定的水平那么就会拿高 ...

  10. JMeter写入文件

    之前我们推文讨论过如何使用jmeter读取文件, 比如csv, txt文件读取, 只要配置csv数据文件, 即可非常容易的从文件中读取想要的数据,  但是如果数据已经从API或者DB中获取, 想存放到 ...

随机推荐

  1. Idea创建类模板方法模板

    参考https://blog.csdn.net/sdut406/article/details/81750858 写代码是少不了注释的,但是自带的注释就几个,所以使用注释模板添加自定义的注释是个非常好 ...

  2. P17_总结

    能够知道如何创建小程序项目 微信开发者工具的使用.appID 的获取 能够清楚小程序项目的基本组成结构 app.js.app.json.app.wxss.pages 文件夹 能够知道小程序页面由几部分 ...

  3. .net 字符串逗号隔开去重

    1.本文背景 同时输入/选择多条信息或批量输入/选择多条信息形成一个逗号隔开的字符串集,会出现数据重复的错误情况,产生不必要的脏数据,本文依次收集测试几种有效的去重方法. 2.代码实现 1)方法一:L ...

  4. SRS视频服务器CallBack的Demo

    1.安装环境(很麻烦,可以选择编译启动) 官方文档快速开始docker配置: docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 -d ...

  5. LoginServlet类

    import cn.itcast.dao.UserDao; import cn.itcast.domain.User; import javax.servlet.ServletException; i ...

  6. 【vite】踩坑,首次点击路由跳转页面,发生回退,页面闪回,二次点击才能进入目标页面

    [vite]踩坑,首次点击路由跳转页面,发生回退,页面闪回,二次点击才能进入目标页面 最近在做移动端前端项目,使用的vite3+vue3+vant,组件和api挂载,使用的自动导入,unplugin- ...

  7. 基于GLUT的PyOpenGL的使用

    1. GLUT概述 OpenGL只是一种规范,不仅语言无关,而且平台无关.规范只字未提获得和管理OpenGL上下文相关的内容,而是将这些作为细节交给底层的窗口系统.出于同样的原因,OpenGL纯粹专注 ...

  8. ArcGIS for Android 实现加载地图

    创建第一个应用 1.前期项目准备 1.1. 创建新工程 新建一个空活动项目 选择语言.平台,修改命名等 1.2. 添加ArcGIS SDK build.gradle (Project: <pro ...

  9. 集成RocketChat至现有的.Net项目中,为ChatGPT铺路

    @ 目录 前言 项目搭建 后端 前端 代理账号 鉴权方式介绍 登录校验模块 前端鉴权方式 后端鉴权方式 登录委托 使用登录委托 处理聊天消息 前端鉴权方式 后端校验方式 项目地址 前言 今天我们来聊一 ...

  10. python 2.7中matplotlib的所有版本

    matplotlib versions: 0.86, 0.86.1, 0.86.2, 0.91.0, 0.91.1, 1.0.1, 1.1.0, 1.1.1, 1.2.0, 1.2.1, 1.3.0, ...