很多童鞋不知道对于Jmeter的Query Type 不知道选哪个,为什么选,怎么选!
下面这边做个简单的分析,
那么首先什么是CSV Data Set Config,有什么用呢?
CSV Data Set Config是用来插入引用文件的一个配置元件,假设说童鞋们在做测试的时候,需要插入多条数据,插入上百条数据的时候,如果用select语句插入的话就显得非常麻烦,那么就可以用csv来完成,也就是所谓的批量取数据
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:引用 文件
文件内容如下
allow quoted data 允许引用数据值
例如
如果txt文件内容中 上海 添加双引号 即 “上海" ,需要同时添加进数据库 那么 allwo quoted data 这边要选择为false
如果不想将双引号添加进数据库 那么就选择 ture
recycle on eof 引用是否允许 重复,
例如 txt文件中 只有3条数据 ,在线程组中添加循环次数 超过三次,那么 结果显示 如下
结果如下
如果 不允许重复,选择false
那么结果 会显示错误值
在stop thread on eof 注释:无数据添加是否停止
如果选择 false
就是不停止,
会将循环次数 执行完成。
如果选择ture 如果没有数据添加时 即停止执行
下面是语句中的值 ,在csv中的variable 中 添加 即可
(二)csv中选择 选callable的情况分析
先来个错误的执行方式
查询语句 用下面的语句去插入语句以及查询出结果来
insert into Lam values(null,'小七','广州','222-2222');
select * from Lam;
当选择 callable 的时候,auto,选择false的情况,执行是成功,但是数据库中并不会添加任何数据。所以这么执行是错误的
当选择 callable 的时候,auto,选择ture的情况, 执行成功,数据库也正常添加数据。这种情况是正确的做法
总结,type选择 callable的时候 是不管 增删改语句放前面,还是查询语句 放前面,都是没有影响,
关键是:
当type选择callable(可调用的情况) 的时候,auto 要选择ture,jmeter才能正确的执行 并且成功添加数据。
如果type选择select (查询)或者 update(增删改)时候,
那么 auto也同样都是要选择ture; 选择false在jmeter中都是显示执行成功,但是数据库中并不会添加任何数据,反而会占用一行ID 位置
还有要说的就是 图如下,
如果 query中 查询语句是在第一行的情况,那么type要选择select;
如果 query中 增删改语句是在第一行的情况,那么type要选择update;