Jmeter参数化主要有以下几种方式:
用户定义的变量; 用户参数; csv数据文件; 随机变量; 计数器等...
根据需求可以自行设置。
参数化的引用:设置完参数化后,根据${变量名称}进行引用替换,从而对具体的参数值进行转化,引用是可以通过手动替换或搜索替换。
用户定义的变量是全局变量,它可以跨线程组被引用,在脚本启动时会获取一次值,但在后续运行过程中不会动态获取值。常用于数据库地址,测试环境地址等常量配置,或配置不同服务器地址和端口,也可以用来参数化登录用户等场景。
第一种:在“测试计划”下:
第二种:在线程组下:
设置完毕后,引用变量名称${user}即可。
用户参数是局部变量,它不可以跨线程组被引用,在脚本启动时会获取一次值,在后续运行过程中会动态获取值。用户参数适用于取值范围小、需要少量测试数据的场景。
上图定义一个变量user用于登录,指定了多个变量值,这样每次请求的时候会顺序去取这些值,并且在请求中需要参数化的地方进行${user}的替换与引用。
适用于参数取值范围较大的场景,参数化文件一般为txt或csv格式,每一行代表一条数据,每条数据可包含多个属性,不同属性之间需用分隔符间隔,CSV数据文件对数据量无要求,当需要参数化的数量量较大时,应使用这种参数化方式。
进行csv数据文件参数配置,设置完毕进行${变量名称}的引用:
文件名:参数化文件的目录; 文件编码:编码格式,UTF-8; 变量名称:变量名称应与引用的参数名称一致,以西文逗号间隔; 忽略首行:若参数化文件中第一行为变量名,选择true,否则选择false; 分隔符:与参数化文件中变量间隔符一致,一般为西文逗号; 是否允许带引号(引用数据):一般为false,选true处理全角字符可能会出现乱码; 遇到文件结束符再次循环:选true时,可以重复读取文件;选择false不重复读取文件,一般选true; 遇到文件结束符停止线程:当上一选项为true时,此项无意义;当上一选项为false时,读取到文件结尾停止进程; 线程共享模式:所有线程(线程组中所有线程都有效)、当前线程组(对当前线程组有效)、当前线程(对当前线程有效)。 遇到文件结束符再次循环与遇到文件结束符停止线程的关联关系: 当遇到文件结束符再次循环项为true时,遇到文件结束符停止线程项无意义; 当遇到文件结束符再次循环项为false时,遇到文件结束符停止线程项为true时,当线程为4个,参数值为3个时,会执行请求3次; 当遇到文件结束符再次循环项为false时,遇到文件结束符停止线程项为false时,当线程为4个,参数值为3个时,会执行请求4次,但是最后一次请求会报错,因为第4次请求无参数。
当测试需要产生随机数或者随机取值时,可以用随机变量实现参数化。
Variable name变量名称:用于在其他元素中引用。 Output format可选格式:比如000,格式化为001,002;默认格式为Long.toString()。 Minimum valve:生成的最小随机数。 Maximum value:生成的最大随机数。 Seed for random function:供随机数生成器使用的seed,如果为空,则使用默认的random构造器。 Per thread(user):设为fales,所有线程共享同一个随机数生成器,设为true,每个线程独享各自的随机数生成器。
上图生成的是1390537开头的手机号,最小值为13905370000,最大值为13905379999,最后以${tel}进行引用,这种是根据最大最小值设置取值的,也可以根据可选格式设置。
Starting value:给定计数器的起始值、初始值,第一次迭代时,会把该值赋给计数器。Increment:每次迭代后,给计数器增加的值。 Maximum value:计数器的最大值,如果超过最大值,重新设置为初始值,可以不设置最大值,默认的最大值为Long.MAX_VALUE,2^63-1,依具体情况设置。 Number format:可选格式,比如000,格式化为001,002;默认格式为Long.toString(),默认格式下,可以当作数字使用。 引用名称:计数器值的变量名称,用于引用。 Track Counter Independently for each User:全局的计数器,如果不勾选,即全局的,比如用户1 获取值为1,用户2获取值还是为1;如果勾选,即独立的,则每个用户有自己的值:比如用户1获取值为1,用户2获取值为2。 Reset counter on each Thread Group Iteration:仅勾选与每用户独立的跟踪计数器时可用;如果勾选,则每次线程组迭代,都会重置计数器的值,当线程组是在一个循环控制器内时比较有用。
本文作者:朱珂珂(上海新炬王翦团队)
本文来源:“IT那活儿”公众号
文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。