__CSVRead函数用于对脚本进行参数话,当脚本中不同变量需要不同参数值时,可以考虑__CSVRead函数。
以登录的用户名、密码为例:实际进行压力测试时,需要模拟使用不同的用户并发访问系统,此时需要我们对脚本中的用户名、密码进行参数化;下面具体介绍如何使用csvread函数:
1. 准备好参数取值List清单,文件格式为:csv或者txt文件,里面保存变量要读取的参数值,每个变量间用逗号相隔。每行表示每一组参数值,每列表示同一种变量;
如准备10个不同的用户,文件名user parameter.txt,其用户名、密码取值如下:
[email protected],12
[email protected],123
[email protected],hai123
[email protected],12abc
[email protected],23dcs
[email protected],ed12q
[email protected],jumper
[email protected],poi2qwe
[email protected],122dewq
[email protected],123dew23
2.准备好参数取值List清单后,打开Jmeter的函数助手,选择csvread函数,生成函数;
在Jmeter“选项”中-->选择“函数助手对话框”-->选择csvread函数或者直接采用快捷键Ctrl+F打开,
其中:
CSV file to get values from | *alias:表示要读取的文件路径,应该是绝对路径(如:D:\Software\jmeter\User parameter.txt)
CSV文件列号| next| *alias:表示当前变量读取第几列数据,注意第一列是0
点击生成按钮,则生成了函数,如:${__CSVRead(D:\jmeter\User parameter.txt,0)},表示是从D:\jmeter\User parameter.txt文件中第一列读取数据。以此类推。
3.在Jmeter录制的脚本中,找到登录这块需要参数桦的用户名、密码,对用户名、密码的value值进行参数化,其中用户名的value值替换为${__CSVRead(D:\jmeter\User parameter.txt,0)},密码的value值替换为${__CSVRead(D:\jmeter\User parameter.txt,1)},保存当前脚本,参数化完毕,(注:如果要修改要读取的参数值,则可直接在txt清单中修改数字而不用重新在csvread函数生成中修改)
4.Jmeter执行的时候,如果有多个线程,顺序读取第一行的数字,如果线程组多于文件中的行数,则循环读取。