小豆子的笔记QAQ

导航

Jmeter-参数化,使用CSVRead函数,实现循环读取参数

需求:

使用jmeter实现所有接口的输入参数为string的,输入特殊字符,验证特殊字符在接口是否已被拦截

拦截为,输出403

非拦截,输出200

 

设计实现:

1、在已有的jmeter线程组中增加特殊字符拦截验证用例

2、每个接口均需要重复读取csv文件

 

使用——CSVRead()实现

1、在函数助手中,该函数的实现

 

 2、由于该函数的只适用于多线程组,若在同一个线程组中,循环读取,只能读取第一行,第一行!!!

故若你的文件为以下方式的,就只能读取到#

 

 

3、但是我的用例设计为一个接口一个线程组,该接口所有的正向逆向用例均在该线程组中;故需要重新设计;

文件设计为以下方式,参数设置为读取多列数据,列数可以用count这个函数实现自增,由于count自增从1开始,需要用intsum函数-1:${__CSVRead(${unBlock_special_path},${__intSum(${__counter(TRUE,)},-1,)})}

 

 4、使用以上函数,可以实现在一个线程组中用csvRead函数实现循环读取,以英文逗号为分割符

5、但是若需要验证英文逗号这个特殊字符是否存在拦截怎么办?

6、该特殊字符只能是在英文下的特殊字符,即ASCII中的半角时识别,若输入存在全角的特殊字符,参数化会失败,那么如果需要全角验证呢,应该怎么办?

全角和半角的区别:

在非汉字模式下,输入的特殊字符和字母默认为半角,可以输入法中切换

在汉字模式下,输入特殊字符和字母默认为全角,可以输入法中切换

7、若该参数中存在中文,参数化时,显示乱码,那么想要 验证中文,就不能实现了?

 

 

总结:

该方法可以在线程组中只读取第一行

该方法可以通过读取行来实现在单线程组中循环读取

该方法只能实现半角的特殊字符和字母。无法实现英文逗号,全角字符,中文

posted on 2021-02-19 17:10  小豆子的笔记QAQ  阅读(557)  评论(0编辑  收藏  举报