jmeter参数化数据之自定义变量

仔细看过后,觉得用得最多的应该是csvread函数、用户自定义变量以及CSV DATA CONFIG控制器这几个,但是做练习之后,在结果树和聚合报告中查找到相应的执行数据


方法一、依赖Jmeter自带的函数助手

   选项-->函数助手对话框,即可打开函数助手弹窗

  (1)比如使用函数_Random

    输入最小值、最大值,点击下方的【生成】按钮,即会生成:${__Random(1,100,)}

       同时在接口报文参数中写入定义变量

jmeter参数化数据之自定义变量_第1张图片


方法二、比如使用函数__CSVRead

    先准备csv文件,可以先在excel文件里准备好数据,保存的时候格式选择csv格式;


jmeter参数化数据之自定义变量_第2张图片


输入csv文件所在的路径:F:\test.csv,输入参数所在的列(注意:此处列数是从0开始数的,第一列是用户名,对应的列号为0,第二列是密码,对应的列号为1...),生成被调用的函数:${__CSVRead(F:\工单开通.csv,0)}


jmeter参数化数据之自定义变量_第3张图片


在接口报文中参数字段中写入该函数



方法三、CSV Data Set Config


1、在线程组中添加全局或者局部变量,如图所示

jmeter参数化数据之自定义变量_第4张图片


2、配置相应的csv Data

jmeter参数化数据之自定义变量_第5张图片


Filename:csv文件所在的路径以及名称如:F:\test.csv ;(其实不一定要csv文件,亲测txt格式的文件也可以)

File encoding:给出页面的编码方式,可以不填写;这里以百度为例,它的源代码里 ,所以这里File encoding:gb2312
Variable Names(comma-delimited):给出变量名如:name,pwd;这里的变量名是给后面引用用的,如要用到这个文件的值,可以利用变量名来引用:${name},${pwd},如test.csv文件中有这样的数据:[email protected],abc1233,那${name}就可以引用到[email protected],${pwd}就可以引用到abc1233
Delimiter(use '\t' for Tab):这个是用来隔开变量的分隔符,如上面的name,pwd,那分隔符就是“,”

Allow quoted data?:是否允许引用数据,---这个目前还未弄明白,设置成True或者False都能正常引用数据。

Recycle on EOF?:到了文件尾是否循环,True---继续从文件第一行开始读取,False---不再循环

Stop thread on EOF?:到了文件尾是否停止线程,True---停止,False---不停止,注:当Recycle on EOF设置为True时,此项设置无效。

Sharing mode:共享模式,All threads---所有线程,Current thread group—当前线程组,Current thread—当前线程。这个地方和LoadRunner中的迭代取之相反,经试验得出来的结果是:

    All threads:测试计划中所有线程,假如说有线程1到线程n (n>1),线程1取了一次值后,线程2取值时,取到的是csv文件中的下一行,即与线程1取的不是同一行。

    Current thread group:当前线程组,假设有线程组A、线程组B,A组内有线程A1到线程An,线程组B内有线程B1到线程Bn。取之情况是:线程A1取到了第1行,线程A2取第2行,现在B1取第1行,线程B2取第2行。

    Current thread:当前线程。假设测试计划内有线程1到线程n (n>1),则线程1取了第1行,线程2也取第1行。

综上:CSV Data Set Config实现的功能跟之前用的:${__CSVRead(F:\test.csv,0)}这个函数实现的功能大体上是一样的。


3、配置完成后,在报文中写入定义相应的变量${orderid}和¥{orderTime},运行接口,会调用cvs中写入数据


jmeter参数化数据之自定义变量_第6张图片




       

你可能感兴趣的:(jmeter压力测试)