一、__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. flutter系列之:使用SliverList和SliverGird

    目录 简介 SliverList和SliverGird详解 SliverList和SliverGird的使用 总结 简介 在上一篇文章我们讲解SliverAppBar的时候有提到过,Sliver的组件 ...

  2. CF1372D Omkar and Circle

    题目传送门 思路 这是一道非常简单的 \(\mathcal *2100\). 既然他样例给的那么简单,说明这是一道结论题. 于是我们可以手玩几组数据试试. 例如 \(3,5,9,8,12\) 这组,发 ...

  3. LAMP环境搭建——最详细的手工编译

    环境:阿里云服务器ECS,Alibaba Cloud Linux 3.2104 LTS 64位 ,2核(vCPU) 2 GiB LAMP 是搭建Web应用时最常用的环境,LAMP 分别表示 Linux ...

  4. uWSGI 结合 nginx 配置动静分离

    uWSGI 结合 nginx 配置动静分离 目录 uWSGI 结合 nginx 配置动静分离 1 环境准备 2 初始配置文件 2.1 uwsgi 配置文件 2.2 Nginx配置文件 2.3 Djan ...

  5. Error in v-on handler: “TypeError: Cannot read properties of undefined (reading ‘resetFields‘)“

    在做vue element 项目中,做了一个新增 打开弹框的功能,想每次点击新增的时候表单项重置.1.使用了this.$refs[formName].resetFields();2.但是报错了,原因是 ...

  6. GPS地图生成02之经典算法体验

    经典的利用轨迹生成地图的算法与数据集可寻找于:Mapconstruction by pfoser Mapconstruction by pfoser数据集中,雅典数据集投影坐标系为(UTM, GGRS ...

  7. 彰显个性│github 和 gitlab 之自定义首页样式

    目录 个性首页 制作步骤 修改内容 个性首页 相信很多小伙伴在逛 github 和 gitlab 的时候 会发现很多开发者的首页异常的炫酷,如 https://github.com/autofelix ...

  8. redis(14)主从复制

    Redis主从复制 主机数据更新后根据配置和策略, 自动同步到备机的 master/slaver 机制,Master 以写为主,Slave 以读为主,主从复制节点间数据是全量的. 作用: 读写分离,性 ...

  9. 指数分布的分布函数和概率密度函数的推导,牢记指数分布的分布函数为1-e^(-λx)

    指数分布的分布函数和概率密度函数的推导,牢记指数分布的分布函数为1-e^(-λx) 前言:重在记录,可能出错. 之前推导出了泊松分布的概率公式--泊松分布概率公式的推导,现在推导一下指数分布的分布函数 ...

  10. 回顾——Dom节点类型

    DOM 节点 在 HTML DOM 中,所有事物都是节点.DOM 是被视为节点树的 HTML. 根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点: 整个文档是一个文档节点 ...