压测JMeter---3、JMeter的组件---》3.7函数助手

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cheng_feng_xiao_zhan/article/details/84336404

压测JMeter---3、JMeter的组件

3.7函数助手

      在性能测试时,为了能模拟真实的用户请求,我们需要将每次请求发送的参数都不一样,这个过程称为参数化;

    

3.7.1csvread

      我们介绍一种csvread的方式,通过读取一个csv的文件,也就是一个txt文件来实现参数值的变化;

      上面一行添加我们的txt文件及路径,txt文件里面量值逗号分开即可,最后通过生成一个变量,把这个参数变量放到你需要的地方,替换原来写死的内容;

1)新建一个csv或者text文件,里面保存要读取的参数,每个参数间用逗号相隔。每行表示每一组参数,每列表示每种参数:

            比如:
                  admin,zh_CN
                  manager,zh_CN

      文件为用户名和语言,用逗号隔开,每一列表示一种参数,每一行则表示一组参数

      默认下,函数会在遇到每一个逗号处断行;如果希望在输入列中使用逗号,那么需要换一个分隔符(设置属性csvread.delimiter实现),且该符号没有在CSV文件任何列中出现

            修改jmeter.properties文件:

                  #csvread.delimiter=,
                  修改为
                  csvread.delimiter=?

            即把分隔符修改为?问号,注意前面的#号代表注释,要去掉。重启Jmeter生效。

2)打开Jmeter的函数助手,选择csvread函数:

      函数参数化,通过菜单栏的options(选项)->函数助手对话框打开,在打开的对话框中可以有多种函数方式;

其中:

CSV file to get values from | *alias:要读取的文件路径,为绝对路径
Column number of CSV file | next | *alias:从第几列开始读取,注意第一列是0

      点击生成按钮,则生成了函数,为:${__CSVRead(F:\Jmeter\函数助手数据\HTTP.txt,1)}csvread就是从test.txt文件中读取第一列的第二个参数。以此类推。

3)将生成的参数拷贝到需要参数化的参数的值一项中,如果要修改要读取的参数的列,则可以直接在参数值中修改数字而不用重新在csvread函数生成中修改。

4)JMeter执行的时候,如果有多个线程,顺序读取第一行的数字,如果线程组多余文件中的行数,则循环读取。使用*ALIAS特性可以多次打开同一个文件,另外还能缩减文件名称。

      这一函数并不适合于读取很大的文件,因为整个文件都会被存储到内存之中。对于较大的文件,请使用配置元件CSV Data Set或者StringFromFile 。

希望对你有帮助,祝你有一个好心情,加油!

若有错误、不全、可优化的点,欢迎纠正与补充!

猜你喜欢

转载自blog.csdn.net/cheng_feng_xiao_zhan/article/details/84336404