Jmeter之csv、用户自定义变量以及Query Type分析(八)

时间:2023-03-09 02:09:23
Jmeter之csv、用户自定义变量以及Query Type分析(八)

很多童鞋不知道对于Jmeter的Query Type 不知道选哪个,为什么选,怎么选!

下面这边做个简单的分析,

那么首先什么是CSV Data Set Config,有什么用呢?

Jmeter之csv、用户自定义变量以及Query Type分析(八)

Jmeter之csv、用户自定义变量以及Query Type分析(八)

CSV Data Set Config是用来插入引用文件的一个配置元件,假设说童鞋们在做测试的时候,需要插入多条数据,插入上百条数据的时候,如果用select语句插入的话就显得非常麻烦,那么就可以用csv来完成,也就是所谓的批量取数据

Jmeter之csv、用户自定义变量以及Query Type分析(八)

Filename:就是你要导入的文件地址(TXT文档里面写入你想要添加的批量型数据)注意:文档路径不要用中文路径,这边为了直观表达所以用中文写出来了。

File encoding:编码

variable Names(comma-delimited):变量名,这个变量名根据“用户自定义的变量”来写进去,例如txt文档里面包括有“姓名、性别、年龄”,那么这边就可以填入name,sex,age。类似这样的~

Delimiter(Use '\t' for tab):用什么来分割,“,”表示用逗号分割

Allow quoted data?:默认False       允许引用数据值

Recycle on EOF?:Ture       循环取值的意思,假设TXT文档只有3条数据,但是我要插入4条数据,那么取完之后是否循环取这些数据

Stop thread in EOF?:False        无数据添加是否停止

下面来举个例子

filename:引用 文件 

Jmeter之csv、用户自定义变量以及Query Type分析(八)

文件内容如下
Jmeter之csv、用户自定义变量以及Query Type分析(八)
allow quoted data   允许引用数据值
Jmeter之csv、用户自定义变量以及Query Type分析(八)
例如
如果txt文件内容中 上海 添加双引号 即 “上海"  ,需要同时添加进数据库  那么 allwo quoted data 这边要选择为false
Jmeter之csv、用户自定义变量以及Query Type分析(八)
Jmeter之csv、用户自定义变量以及Query Type分析(八)
如果不想将双引号添加进数据库 那么就选择 tureJmeter之csv、用户自定义变量以及Query Type分析(八)
Jmeter之csv、用户自定义变量以及Query Type分析(八)
recycle on eof      引用是否允许  重复,
例如 txt文件中 只有3条数据 ,在线程组中添加循环次数 超过三次,那么 结果显示 如下 
Jmeter之csv、用户自定义变量以及Query Type分析(八)Jmeter之csv、用户自定义变量以及Query Type分析(八)
结果如下
Jmeter之csv、用户自定义变量以及Query Type分析(八)
如果 不允许重复,选择false
那么结果 会显示错误值
Jmeter之csv、用户自定义变量以及Query Type分析(八)
在stop thread on eof  注释:无数据添加是否停止 
Jmeter之csv、用户自定义变量以及Query Type分析(八)
如果选择 false
 就是不停止,
会将循环次数 执行完成。
如果选择ture  如果没有数据添加时 即停止执行
下面是语句中的值 ,在csv中的variable 中 添加 即可
Jmeter之csv、用户自定义变量以及Query Type分析(八)Jmeter之csv、用户自定义变量以及Query Type分析(八)
(二)csv中选择 选callable的情况分析

先来个错误的执行方式

查询语句  用下面的语句去插入语句以及查询出结果来
insert into Lam values(null,'小七','广州','222-2222');
select * from Lam;
当选择 callable 的时候,auto,选择false的情况,执行是成功,但是数据库中并不会添加任何数据。所以这么执行是错误的
Jmeter之csv、用户自定义变量以及Query Type分析(八)
Jmeter之csv、用户自定义变量以及Query Type分析(八)
Jmeter之csv、用户自定义变量以及Query Type分析(八)
当选择 callable 的时候,auto,选择ture的情况, 执行成功,数据库也正常添加数据。这种情况是正确的做法
Jmeter之csv、用户自定义变量以及Query Type分析(八)Jmeter之csv、用户自定义变量以及Query Type分析(八)
总结,type选择  callable的时候 是不管 增删改语句放前面,还是查询语句 放前面,都是没有影响,
 
关键是:
 
当type选择callable(可调用的情况) 的时候,auto 要选择ture,jmeter才能正确的执行 并且成功添加数据。
 
 
如果type选择select (查询)或者  update(增删改)时候,
那么  auto也同样都是要选择ture; 选择false在jmeter中都是显示执行成功,但是数据库中并不会添加任何数据,反而会占用一行ID 位置
还有要说的就是   图如下,
如果 query中 查询语句是在第一行的情况,那么type要选择select;
Jmeter之csv、用户自定义变量以及Query Type分析(八)
如果 query中 增删改语句是在第一行的情况,那么type要选择update;
Jmeter之csv、用户自定义变量以及Query Type分析(八)