JMeter中关于动态切换不同CSV文件解决方案
最近写case,需要当前播放节目的数据作为输入数据,所以每个时刻所用的数据只能是当前时刻附件的数据,尝试用CSV Data Set Config动态加载不同的文件,没有成功,好像CSV Data Set Config里面的 文件名是在case运行之前就加载了,后期没法改(反正我自己没找到方法)。后来发现__CSVRead()函数可以在运行时读取,但是网上有人说csv文件不能太大。从我目前的需求来说,只需要一分钟切换一个文件,这样每一个文件里面的数据也就只需要包含几分钟时间段内的数据,这样文件也不会太大。
具体实现:
1. 在用__CSVRead()函数读取数据之前,先生成要读取的文件名(包括完整路径和扩展名),然后添加一个BeanShell Sampler,在里面用下面的代码每一列数据保存到变量里面,读取代码如下:
line1: vars.put("GlfProgramId",${__CSVRead(${__property(scheduleOnNowFile)},0)});
Line2: vars.put("ServiceId",${__CSVRead(${__property(scheduleOnNowFile)},1)}${__CSVRead(${__property(scheduleOnNowFile)},next)});
其中,Line1的意思是把scheduleOnNowFile这个csv文件的第一列的当前行保存到GlfProgramId这个变量,0是指读取第一列,后面个列依次是1,2,3...。
Line2的意思跟第一行类似,只不过后面紧跟着的${__CSVRead(${__property(scheduleOnNowFile)},next)}是说后面的读取要移到下一行了,其中next就是指的下一行。当读到csv文件最后一行,会自动回到第一行。
PS:1. 用__CSVRead()函数读取文件数据时,好像不能忽略掉第一行(很多时候CSV文件都有header,用CSV Data Set Config可以忽略header这一行).
2. 如果一个threadgroup只读一行,那就只能在最后一次读取的时候加上${__CSVRead(${__property(scheduleOnNowFile)},next)}。
3. __CSVRead()函数读取是按顺序读取的,多线程运行也是按顺序的,第一个线程读第一行,第二个就读第二行,依次读取。
4. __CSVRead()函数读取列是完全按照半角逗号来区分不同的列的,不管每个列有没有双引号引起来,这个跟CSV Data Set Config是不一样的,CSV Data Set Config可以忽略掉双引号里面的逗号。所以如果字段里面有引号,需要在生成csv文件时,把半角逗号替换成全角逗号,等到读取出来要用的时候再替换回半角逗号。
JMeter中关于动态切换不同CSV文件解决方案的更多相关文章
- Jmeter :多个jmeter如何参数化获取不同的CSV文件
如何为不同的jmeter engine建立不同的csv文件: 1.如果需要多个jmeter engine 去读取不同的csv文件,可以使用一个变量去区分 ${__P(InstanceID)}, in ...
- 通过源码了解ASP.NET MVC 几种Filter的执行过程 在Winform中菜单动态添加“最近使用文件”
通过源码了解ASP.NET MVC 几种Filter的执行过程 一.前言 之前也阅读过MVC的源码,并了解过各个模块的运行原理和执行过程,但都没有形成文章(所以也忘得特别快),总感觉分析源码是大神 ...
- 直接把数据库中的数据保存在CSV文件中
今天突然去聊就来写一个小小的demo喽,嘿嘿 public partial class Form1 : Form { public Form1() { InitializeComponent(); } ...
- 在Winform中菜单动态添加“最近使用文件”
最近在做文件处理系统中,要把最近打开文件显示出来,方便用户使用.网上资料有说,去遍历“C:\Documents and Settings\Administrator\Recent”下的最近文档本.文主 ...
- 为TextView设置两种状态,程序中可以动态切换
经常会需要用文字的两种状态来表示当前系统的某两种状态.比如: 这里的第一个TextView和后两个TextView就表示了两种状态.我们可以在程序的动态的切换状态(而不是直接修改颜色) ...
- springboot 1.5.x中的动态切换日志级别
logback是一套日志框架,由log4j的优化版,由同一个作者开发,在速度和性能上都超过其他日志框架,再结合slf4j,已成为当前最流行的日志框架. 一.springboot中使用logback s ...
- vue中实现动态切换不同的值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用Jmeter性能测试,读取csv文件时的乱码问题
读取csv参数乱码问题 发送请求时参数通过CSV文件读取,发送请求后显示错误,把获取的参数通过在线urlencode转码器转码后发现是乱码.打开csv设值,编码格式选择的是UTF-8,打开参数文件后发 ...
- 从数据库中导出.csv文件
需求: 本次将数据库中的数据导出成.csv文件(office可以打开), //数据的生成,根据你所选中的数据进行生成 //params:$activity_id -> 活动的id //param ...
随机推荐
- Mysql相关技术细节整理
一.错误日志相关 1.mysql错误日志所在位置 windows下,错误日志文件一般在安装目录下的data目录下.扩展名是.err的文件,也可以打开安装目录下的my.ini文件检查一下linux下,错 ...
- Linux基础命令---删除用户userdel
userdel 删除用户,如果没有附加选项,仅删除用户,不删除相关文件. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 ...
- 校正PHP服务器时间不准的问题
关于怎样解决PHP服务器时间不准的问题,得针对不同的情况进行不同的处理. 下面是经常遇到的情况,及应对办法. 1.PHP服务器时区不对,使用下面代码修正: <?php $timezone = & ...
- python之常量和变量
局部和全局变量: # name='lhf' # def change_name(): # # global name # name='帅了一比' # print('change_name',name) ...
- NFS服务端与客户端配置
#首先确认系统中是否安装了对于的软件 rpm -qa|grep -i nfs #在有网络的情况下使用YUM安装NFS.rpcbind软件包 yum install lrzsz nmap tree do ...
- LINUX搭建PySpider爬虫服务
1.环境搭建 yum update -y yum install gcc gcc-c++ -y yum install python-pip python-devel python-distribut ...
- Failed to load ApplicationContext
java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.conte ...
- Django模板系统 运算
记下来,省得每次google 过滤器,变量的显示形式的改变 一.形式:小写 {{ name | lower }} 二.串联:先转义文本到HTML,再转换每行到 <p> 标签 {{ my_t ...
- 关于scrapy下载文件重命名的办法以及对应url没有文件后缀的办法
https://www.jianshu.com/p/d1bb28cbb6a8 scrapy中负责下载文件的是class MyFilesPipeline(FilesPipeline)类 其中负责下载文件 ...
- Centos6下给PHP安装Qconf扩展
一.下载Qconf的zip包 1.进入github地址:https://github.com/Qihoo360/QConf,下载zip包文件,并上传至服务器二.安装QConf unzip ...