资讯专栏INFORMATION COLUMN

Jmeter参数化的几种方式

IT那活儿 / 2304人阅读
Jmeter参数化的几种方式
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!
Jmeter参数化概况
使用jmeter进行测试时,不同的场景对所要发送的数据有一定的要求,有些字段需要进行参数化以满足测试的需求。

Jmeter参数化主要有以下几种方式

  • 用户定义的变量;
  • 用户参数;
  • csv数据文件;
  • 随机变量;
  • 计数器等...

根据需求可以自行设置。

参数化的引用:设置完参数化后,根据${变量名称}进行引用替换,从而对具体的参数值进行转化,引用是可以通过手动替换或搜索替换。

方式一:用户定义的变量

用户定义的变量是全局变量,它可以跨线程组被引用,在脚本启动时会获取一次值,但在后续运行过程中不会动态获取值。常用于数据库地址,测试环境地址等常量配置,或配置不同服务器地址和端口,也可以用来参数化登录用户等场景。

用户定义变量的实现有两种,效果是一样的。
  • 第一种:在“测试计划”下:
  • 第二种:在线程组下:
操作步骤:线程组—添加—配置元件—用户定义的变量。

设置完毕后,引用变量名称${user}即可。

方式二:用户参数

用户参数是局部变量,它不可以跨线程组被引用,在脚本启动时会获取一次值,在后续运行过程中会动态获取值。用户参数适用于取值范围小、需要少量测试数据的场景。

操作步骤:线程组—添加—前置处理器—用户参数。
通过添加变量/删除变量,添加用户/删除用户,设置参数名称和值的个数,勾选每次迭代更新一次,最后在需要参数化的地方进行${变量名称}的替换。

上图定义一个变量user用于登录,指定了多个变量值,这样每次请求的时候会顺序去取这些值,并且在请求中需要参数化的地方进行${user}的替换与引用。

方式三:csv数据文件

适用于参数取值范围较大的场景,参数化文件一般为txt或csv格式,每一行代表一条数据,每条数据可包含多个属性,不同属性之间需用分隔符间隔,CSV数据文件对数据量无要求,当需要参数化的数量量较大时,应使用这种参数化方式

首先新建一个text参数化文件,将需要进行的参数化的数据放入文件。
操作步骤:线程组—添加—配置元件—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:仅勾选与每用户独立的跟踪计数器时可用;如果勾选,则每次线程组迭代,都会重置计数器的值,当线程组是在一个循环控制器内时比较有用。
在实际使用中,可以用计数器生成我们需要的有序字符串,如手机号、证件号,上图生成的是格式为H00000000的证件号,从H00000001开始,每次递增为1,最大值为H99999999,最后以${certid}进行引用即可,这种是依赖于可选格式进行参数设置的。

本文作者:朱珂珂(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129394.html

相关文章

  • 软件接口测试工具Jmeter使用核心详解【建议收藏】

    用Jmeter做接口测试只需要掌握几个核心功能就可以了。 并不一定要把它所有的功能都掌握,先掌握核心功能入行,然后再根据工作需要和职业规划来学习更多的内容。这篇文章在前面接口测试框架(测试计划--->线程组--->请求--->查看结果树)的前提下,来介绍必须要掌握的几个核心功能,力求用最短的时间取得最大的成果。 在前面的文章中我提到,用Jmeter做接口测试的核心是单接口测试的参数化和关联接口测试...

    zoomdong 评论0 收藏0
  • 几种 Docker 监控工具对比

    摘要:在我们列举的几个监控的服务或平台中,这是唯一一款国内产品。也是一款付费监控解决方案,计划收费方案是美分小时。同样也支持监控,还包括对容器级事件的监测停止开始等等和管理容器产生的日志。由于是一个监控方案,相对来说它的安装和部署都比较简单。 轻量级虚拟化容器 Docker,自发布以来便广受业界关注,在开源界和企业界掀起了一阵风。Docker 容器相对于 VM 有以下几个优势:启动速度快;资...

    张春雷 评论0 收藏0
  • JMeter测试数据库

    摘要:在测试的时候,可能会面对,针对某些数据库的脚本进行施压。达到目的有很多种,比如通过直接编码达到目的,然后用数据库自带的一些监控手段进行监控。为了降低成本,可以通过快速的达到目的。比如需要对的某个存储过程进行施压测试,以便查看他的执行效率。 在测试的时候,可能会面对,针对某些数据库的脚本进行施压。 达到目的有很多种,比如通过直接SQL编码达到目的,然后用数据库自带的一些监控手段进行监控。...

    DevTTL 评论0 收藏0
  • 2021最新jmeter接口测试入门到精通实战讲解,手把手教学

    摘要:循环次数勾选为永远就是这个用户一直重复执行登录的操作调度器勾选调度器可以更加灵活的控制线程组执行的时间持续时间线程组执行时间,在该时间内,线程组会一直重复执行。 目录 一、线程组 1、添加线程组 2、线程组设置 二、HTTP请求默认值 1、添加HTTP请求默认值 三、HTTP请求 1、添加...

    wing324 评论0 收藏0
  • jmeter web性能测试之关联及参数

    jmeter web性能测试之关联及参数化 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...

    IT那活儿 评论0 收藏1816

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<