当前位置: 首页 > news >正文

Jmeter接口测试教程之【参数化技巧总结】,总有一个是你不知道的

目录:导读

一、随机值

二、随机字符串

三、时间戳

四、唯一字符串UUID


说起接口测试,相信大家在工作中用的最多的还是Jmeter

大家看这个目录就知道jmeter的应用有多广泛了:https://www.bilibili.com/video/BV1e44y1X78S/?

JMeter是一个100%的纯Java桌面应用,由Apache组织的开放源代码项目,它是功能和性能测试的工具。具有高可扩展性、支持Web(HTTP/HTTPS)、SOAP、FTP、JAVA 等多种协议。

在做接口测试时,根据不同的业务场景,经常需要对接口传参数,比如常见的GET、POST请求。为了模拟更真实的用户使用场景,在传参数时,需要采用动态的参数,比如每次调用接口时,需要传入当前的时间戳;每次查询商品信息时,传入一个随机的商品id等。这个时候就要用到Jmeter的参数化。下面来介绍下Jmeter常用的一些参数化方式

一、随机值

在Jmeter的“函数助手”中,提供了随机数函数Random,可以产生一个指定范围的随机值。

配置上随机值的最小值和最大值,点击生成,就能产生一个随机数函数,并且已经拷贝到内存中,在需要使用参数化的地方直接粘贴即可。

二、随机字符串

在某些业务场景中,需要传入一个随机字符串,比如在注册信息时,需要传入一些个人简介,这个时候可以用随机字符串来代替。

在“函数助手”中,找到RandomString函数:

解释:

Random string length:生成的随机字符串长度;

Chars to use for random string generation:随机字符串从哪些字符中生成;

点击生成,拷贝到需要使用的地方即可。

三、时间戳

很多接口里经常需要传时间戳,并且要求是当前时间戳,在Jmeter的函数助手里,有专门的时间戳函数time

直接点击生成,就能产生一个时间戳函数,将它粘贴到对应的参数位置即可。

除了获取时间戳外,time函数还支持按照一定的格式去展示时间,比如”yyyy-MM-dd HH:mm:ss”。

  • yyyy:代表4位数的年份

  • MM:代表2位数的月份

  • dd:代表2位数的天数

  • HH:代表2位数的小时

  • mm:代表2位数的分钟数

  • ss:代表2位数的秒数

四、唯一字符串UUID

在很多业务场景中,接口需要传入一个唯一的,不重复的字符串,比如发送聊天消息接口,通常都有一个消息id,要求这个id不能重复,这个时候可以使用uuid来解决。

UUID是指在一台机器上生成的字符串,它保证对在同一时空中的所有机器上都是唯一的,具备唯一性。

Jmeter里提供了uuid函数,可以很方便的获取uuid。

好了,以上就是Jmeter里常用的一些参数化函数,Jmeter还支持很多其他的参数化方式,后续的文章会专门介绍下。

写在最后

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

看到这篇文章的人有觉得我的理解有误的地方,也欢迎评论和探讨~

你也可以加入下方的的群聊去和同行大神交流切磋

 

http://www.lryc.cn/news/28311.html

相关文章:

  • 缓存与数据库的双写一致性
  • 力扣-213打家劫舍II(dp)
  • 关于【网格结构】岛屿类问题的通用解法DFS(深度遍历)遍历框架+回溯+剪枝总结
  • 【LeetCode】982. 按位与为零的三元组
  • Linux内核源码进程原理分析
  • 电子技术——CMOS反相器
  • gazebo仿真轨迹规划+跟踪(不在move_base框架下)
  • C. Good Subarrays(前缀和)
  • 关于Facebook Messenger CRM,这里有你想要知道的一切
  • ChIP-seq 分析:数据与Peak 基因注释(10)
  • 《C++ Primer Plus》第18章:探讨 C++ 新标准(8)
  • YOLO-V5 系列算法和代码解析(八)—— 模型移植
  • js实现复制拷贝的兼容方法
  • 学习 Python 之 Pygame 开发魂斗罗(八)
  • Lesson11---分类问题
  • Python基础学习12——异常
  • [日常练习]练习17:链表头插法、尾插法练习
  • 第十四届蓝桥杯模拟赛(第三期)试题与题解 C++
  • 关于 “宏“
  • 1.2 CSS标签选择器,类选择器
  • 【Linux】进程等待 | 详解 wait/waitpid 的 status 参数
  • OpenAI眼中的无线调优策略
  • DataX入门
  • 第二章SpringBoot基础学习
  • B - Build Roads (最小生成树 + 打表)
  • k8s管理工具
  • Cannot start compiler The output path is not specified for module mystatic(已解决)
  • python入门应该怎么学习
  • 不懂命令, 如何将代码托管到Gitee上
  • Mysql常见面试题总结