一、__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. Spingboot 程序在linux 上发布

    1.Linux 安装JDK(略)参考之前的文章 2.创建springboot 程序 项目文件结构 注意 controller包要与Application 同一级 设置tomcat 端口 运行本机测试 ...

  2. 视觉十四讲:第七讲_2D-2D:对极几何估计姿态

    1.对极几何 从2张图片中,得到若干个配对好的2d特征点,就可以运用对极几何来恢复出两帧之间的运动. 设P的空间坐标为: \(P=[X,Y,Z]^{T}\) 两个像素点\(p_{1},p_{2}\)的 ...

  3. 插头dp 模板

    [JLOI2009]神秘的生物 只需要维护连通情况,采用最小表示法,表示此格是否存在,也即插头是否存在 分情况讨论当前格子的轮廓线上方格子和左方格子状态,转移考虑当前格子选不选,决策后状态最后要能合法 ...

  4. JZOJ 4253.QYQ在艾泽拉斯

    \(\text{Problem}\) 有向不联通图,求每个子图至多选出一条最大权值和的路径,求前 \(k+1\) 个 \(\text{Solution}\) 显然将每个子图缩点后 \(dp\),排序 ...

  5. 消息传递(news)题解

    代码 #include<cstdio> #include<algorithm> using namespace std; const int N = 200000; int f ...

  6. 解析关于Tomcat Servlet-request的获取请求参数及几种常用方法

    摘要:本文主要讲解Tomcat之Servlet-request请求参数.Servlet转发机制.常用方法 本文分享自华为云社区<浅谈Tomcat之Servlet-request获取请求参数及常用 ...

  7. Postgres14.4(Docker安装)

    Postgres14.4(Docker安装) 一,Docker拉取镜像 docker pull postgres:14.4 #检查镜像是否拉取成功 docker images | grep postg ...

  8. select省市联动+对应经销商、自定义箭头

    HTML: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <met ...

  9. LeetCode算法训练-回溯 491.递增子序列 46.全排列 47.全排列 II

    欢迎关注个人公众号:爱喝可可牛奶 LeetCode算法训练-回溯 491.递增子序列 46.全排列 47.全排列 II LeetCode 491. 递增子序列 分析 找出并返回所有数组中不同的递增子序 ...

  10. 转码服务serverless探索

    背景 公司目前主要聚焦于视频这个领域,利用视频为媒体.文旅.会议等行业进行赋能. 既然聚焦于视频领域,那么视频转码则是绕不开的话题. 为了降低成本,以及保证产品的核心能力,公司自建了一套转码系统. 转 ...