网站首页 > 文章精选 正文
如果想要掌握Jmeter的相关操作,那么前提是你一定要会参数化,那什么是参数化呢?
参数化:简单的来理解一下,我们录制了一个脚本,这个脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问。
说一下我的理解,就是将脚本中的某些输入值使用参数来代替,在下次使用的时候,只需要修改输入值即可。
Jmeter与loadrunner参数化的区别:
1、 jmeter参数文件的第一行没有列名称
2、 这里要注意的是参数文件的编码,可以使用记事本另存为就可以修改该编码(编码问题在使用CSV Data Set Config参数化时要求的比较严格)
3、 Jmeter的参数化设置没有LoadRunner做的出色,它是依赖于线程设置的(只有CSV Data Set Config参数化方法才有)
还是听不懂没关系,看了下面的你就会了,常见的参数化方法有如下几种:
一、CSV Data Set Config:CSV数据控件
使用场景:适合参数范围比较大的时候,可以方便用户随时修改参数数据。使用最多的就是参数化用户名和密码登录系统。
准备txt文档参数数据
参考接口:
http://api.nnzhp.cn/api/user/login
通过Debug Sampler来查看获取的参数是否正确
二、函数助手
使用场景:jmeter自带的函数处理,比如:随机数,可用于固定字符+随机数,修改传入参数的值,函数助手的底层都是java封装的方法。
三、用户自定义变量
使用场景:一般可以适用于在测试计划中不经常变化的参数设置,如host、端口号、url等;而且用户自定义变量是在配置元件中的。
结果如下所示:
四、用户参数
使用场景:适合参数取值范围很小的时候使用 一般会将登录的用户账号和密码作为用户参数,用户参数是在前置处理器模块中的
请求结果如下:
五、关联获取参数- 正则/json提取(个人角度)
常见的参数化是四种,个人理解通过正则和 json 提取也是一种提取返回结果作为
参数的一种功能,常见的使用场景有:用户登录时,获取返回结果 token,作为下一个
请求的参数,这里要注意取参数的顺序,否则可能会出现还没提取出参数的值,其他请
求却已经引用了参数的情况。
参考接口:
http://api.nnzhp.cn/api/user/login 获取用户的 cookie,并将 cookie 作为参数请求下一个连接。这样的原因是,能保证接下去的操作是在当前用户登录后操作的。
通过 json 提取器获取对应的 cookies 值,并添加在下一个请求的 http cookie 管理器中。
通过 debug sampler 来查看取值结果,说明我们已经取到对应的 cookie 值了。
看到这里,应该知道如何进行参数化了吧,学会了参数化,我们使用 jmeter 就会越
加方便啦!
总结:
在用到jmeter工具时,无论做接口测试还是性能测试,参数化都是一个必须掌握且非常有用的知识点。
我是谁?
我是一名从事了多年软件测试的老测试员,今年年初我花了一个月整理了一份最适合2020年学习的软件测试学习干货,可以送给每一位对软件测试感兴趣的小伙伴,想要获取的可以关注我的头条号并在后台私信我:【测试】,即可免费获取。
猜你喜欢
- 2025-06-23 测试开发之自动化篇-有效测试数据管理
- 2025-06-23 测试用例编写方法(测试用例编写方法是什么)
- 2025-06-23 穿透与击穿:缓存世界的两场“攻击”,Java工程师如何见招拆招?
- 2025-06-23 用一场比赛来介绍CyclicBarrier和CountDownLatch区别
- 2025-06-23 JMeter脚本录制插件BlazeMeter(jmeter录制脚本的目的)
- 2025-06-23 如何避免数据库雪崩?高并发下的性能挑战与应对!
- 2025-06-23 性能测试工具Locust(性能测试工具loadrunner)
- 2025-06-23 软件性能测试常见面试题(软件性能测试的基本思路)
- 2025-06-23 DeepSeek性能测试实战:5分钟压测API接口,精准定位系统瓶颈!
- 2025-06-23 jmeter接口应用3:jmeter后置处理器-提取器
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)
- fmt.println (52)