jmeter学习指南之参数化CSV Data Set Config

点击链接加入QQ群 522720170(免费公开课、视频应有尽有):https://jq.qq.com/?_wv=1027&k=5C08ATe

今天大家一起来学习一下参数化的一个重要工具,我们在写脚本时,经常要用到参数化,而实现参数化最常用的方法之一就是使用CSV Data Set Config元件,使用方便,功能强大。

简单的使用方法估计大家都会,或者说很容易就会了,但是,如果说是比较复杂的配置,估计就有很多人会被绕晕了(我刚开始也经常晕~),今天咱们就详细看看,怎么才能不晕!哈哈

首先来看一眼长啥样,相信大家都比较熟悉

该元件的作用:

从文件中读取变量值,用于变量的参数化,可设置多种读取方式。

各填写项说明:

1、名称、注释:元件的名称及注释,可自定义

2、Config the CSV Data Source:配置数据源

1)Filename:csv文件的名称

注意:这里要包括文件的路径,在4.0版本中可以点击右侧的浏览按钮选择文件,会自动带上文件的绝对路径;

另外,当csv文件在jmeter的bin目录或脚本目录时,只需给出文件名即可;

使用相对路径时,jmeter默认先去bin目录下查找,然后去脚本目录下查找;

2)File encoding:csv文件编码

默认使用当前操作系统的编码格式;

如果文件中包含中文乱码时,可尝试utf-8、gbk等;

3)Variable Names(comma-delimited):

csv文件中各列的名字(有多列时,用英文逗号隔开列名);

名字顺序要与内容对应,这个变量名称是在其他处被引用的,所以为必填项。

4)Delimiter(use “t” for tab):csv文件中的分隔符(用”t”代替tab键)

一般情况下,分隔符为英文逗号,保持默认就行

5)Allow quoted data?:是否允许数据内容加引号

6)Recycle on EOF?:

到了文件尾是否循环,True—继续从文件第一行开始读取,False—不再循环;

此项与下一项的设置为互斥关系,即true-false,或false-true;

7)Stop thread on EOF?:

到了文件尾是否停止线程,True—停止,False—不停止;

注意:当Recycle on EOF设置为True时,此项设置无效。

8)Sharing mode:共享模式

All threads –所有线程,此元件作用范围内的所有线程共享csv数据,每个线程依次读取csv数据,互不重复;

Current thread group—当前线程组,在此元件作用范围内,以线程组为单位,每个线程组内的线程共享csv数据,依次读取数据,互不重复;

Current thread—当前线程,在此元件作用范围内,每次循环中所有线程取值一样;

下面重点分析一下Allow quoted data和Sharing mode:

1、Allow quoted data?:是否允许带双引号的数据

此项实际是控制csv文件中的双引号是否为有效字符;

如果数据带有双引号且此项设置TRUE,则会自动去掉数据中的引号使能够正常读取数据,且即使引号之间的内容包含有分隔符时,仍作为一个整体而不进行分隔;

如果数据带有引号且此项设置为FALSE,则读取数据报错;

如果希望双引号字段中间再包含双引号,则需要加两个双引号来代表单个双引号。(啊啊啊,太拗口了!!!)

如下图所示,此项设置为true时,"2,3"-->2,3;"4""5"-->4"5

2、Sharing mode:共享模式

(1)All threads:针对所有线程组的所有线程,每个线程取值不一样,依次取csv文件中的下一行。

假如说有线程1到线程n (n>1),线程1取了一次值后,线程2取值时,取到的是csv文件中的下一行,即与线程1取的不是同一行。不管是单个线程组还是多个线程组,每个线程都是依次取下一行。需要注意的是,当一个线程组中有多个请求时,对于每个线程来说,在一次循环中每个请求的取值是一样的。

下面举例说明:

A、设置线程组1、2、3分别为1并发、1次循环,且各线程组按顺序执行:

B、设置线程组1、2、3分别为1并发、2次循环,且各线程组按顺序执行:

C、设置线程组1、2、3分别为2并发、1次循环,且各线程组按顺序执行:

大家可以仔细比较一下上图和上上图的区别,乍一看貌似是一样的,但是实际却是不同的线程,怎么区分不同线程呢?

可以使用一个函数来判断:

${__BeanShell(ctx.getThread().getThreadName().toString())}

这个函数可以输出类似这样的内容:“线程组1 1-2“,前面是当前线程组的名称-线程组1,后面是线程组id,然后是线程id,现在再比较上面两图中,发现是线程id不一样。

总体来说就是,在All Threads模式下,并发数和循环数都会读取不同的csv数据,但是同一线程组内的多个sampler总是取相同的值。

(2)Current thread group:当前线程组,

取值情况是:以线程组为单位,每个线程组内的线程都会从第1行开始取值并依次往下进行取值。

举例如下:

A、设置线程组1、2均为2并发、1循环:

(3)Current thread:当前线程。

取值情况是:每个线程都会从第1行开始取值并依次往下进行取值,在同一次循环中所有的线程取值一样。

举例如下:

A、设置线程组1、2均为2并发、1循环:

上面两个图看起来好像是一样的呀?再仔细看一下,后面的test参数取值是不同的。

为什么不同呢?本来想认真的解释一番,但是组织了很久的语言,还是感觉没说清楚。

这一块的逻辑是“只可意会,不可言传”,必须要靠自己亲自实验,慢慢体会才行。

最后,给大家一个小作业:

如何通过设置Sharing moder的方法来实现多个sampler中的参数可以依次不重复的取同一个csv文件中的值?

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容