Jmeter如何参数化?常见的几种参数化方法总结!

开发 开发工具
如果想要掌握Jmeter的相关操作,那么前提是你一定要会参数化,那什么是参数化呢?

如果想要掌握Jmeter的相关操作,那么前提是你一定要会参数化,那什么是参数化呢?

[[323986]]

参数化:简单的来理解一下,我们录制了一个脚本,这个脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问。

说一下我的理解,就是将脚本中的某些输入值使用参数来代替,在下次使用的时候,只需要修改输入值即可。

Jmeter与loadrunner参数化的区别:

  • jmeter参数文件的第一行没有列名称
  • 这里要注意的是参数文件的编码,可以使用记事本另存为就可以修改该编码(编码问题在使用CSV Data Set Config参数化时要求的比较严格)
  • Jmeter的参数化设置没有LoadRunner做的出色,它是依赖于线程设置的(只有CSV Data Set Config参数化方法才有)

还是听不懂没关系,看了下面的你就会了,常见的参数化方法有如下几种:

一、CSV Data Set Config:CSV数据控件

使用场景:适合参数范围比较大的时候,可以方便用户随时修改参数数据。使用最多的就是参数化用户名和密码登录系统。

Jmeter如何参数化?常见的几种参数化方法总结!

准备txt文档参数数据

Jmeter如何参数化?常见的几种参数化方法总结!

参考接口:http://api.nnzhp.cn/api/user/login

Jmeter如何参数化?常见的几种参数化方法总结!

通过Debug Sampler来查看获取的参数是否正确

Jmeter如何参数化?常见的几种参数化方法总结!

二、函数助手

使用场景:jmeter自带的函数处理,比如:随机数,可用于固定字符+随机数,修改传入参数的值,函数助手的底层都是java封装的方法。

Jmeter如何参数化?常见的几种参数化方法总结!

Jmeter如何参数化?常见的几种参数化方法总结!

三、用户自定义变量

使用场景:一般可以适用于在测试计划中不经常变化的参数设置,如host、端口号、url等;而且用户自定义变量是在配置元件中的。

Jmeter如何参数化?常见的几种参数化方法总结!

Jmeter如何参数化?常见的几种参数化方法总结!

结果如下所示:

Jmeter如何参数化?常见的几种参数化方法总结!

Jmeter如何参数化?常见的几种参数化方法总结!

四、用户参数

使用场景:适合参数取值范围很小的时候使用 一般会将登录的用户账号和密码作为用户参数,用户参数是在前置处理器模块中的

Jmeter如何参数化?常见的几种参数化方法总结!

Jmeter如何参数化?常见的几种参数化方法总结!

请求结果如下:

Jmeter如何参数化?常见的几种参数化方法总结!

五、关联获取参数- 正则/json提取(个人角度)

常见的参数化是四种,个人理解通过正则和 json 提取也是一种提取返回结果。

作为参数的一种功能,常见的使用场景有:用户登录时,获取返回结果 token,作为下一个请求的参数,这里要注意取参数的顺序,否则可能会出现还没提取出参数的值,其他请求却已经引用了参数的情况。

Jmeter如何参数化?常见的几种参数化方法总结!

参考接口:http://api.nnzhp.cn/api/user/login 获取用户的 cookie,并将 cookie 作为参数请求下一个连接。这样的原因是,能保证接下去的操作是在当前用户登录后操作的。

Jmeter如何参数化?常见的几种参数化方法总结!

通过 json 提取器获取对应的 cookies 值,并添加在下一个请求的 http cookie 管理器中。

Jmeter如何参数化?常见的几种参数化方法总结!

Jmeter如何参数化?常见的几种参数化方法总结!

通过 debug sampler 来查看取值结果,说明我们已经取到对应的 cookie 值了。

Jmeter如何参数化?常见的几种参数化方法总结!

看到这里,应该知道如何进行参数化了吧,学会了参数化,我们使用 jmeter 就会越

加方便啦!

总结

在用到jmeter工具时,无论做接口测试还是性能测试,参数化都是一个必须掌握且非常有用的知识点。

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2022-08-01 08:30:26

Python命令行

2019-12-11 16:21:30

Python参数化测试框架

2019-02-26 14:39:20

Windows后门漏洞

2009-05-20 10:58:15

数据库查询初始化

2010-09-26 16:24:23

设置JVM参数

2009-06-25 16:45:31

Hibernate

2011-05-06 16:22:58

2009-07-22 08:34:47

Scala方法和字段

2021-07-14 13:11:02

papermillJupyterPython

2015-08-26 16:26:19

SQL

2022-06-17 09:30:00

参数化测试TestNG测试

2022-03-15 09:11:42

Python编程模式数据类型

2015-08-19 14:22:01

SQL Server参数

2009-12-15 14:09:39

Ruby创建可参数化类

2010-09-07 10:42:12

SQL语句

2020-11-24 08:45:04

Active Choi

2010-06-17 14:43:29

SQL Server参

2009-07-09 00:25:00

Scala参数化

2010-10-25 10:29:32

虚拟化

2009-12-17 17:46:26

Ruby编写问题
点赞
收藏

51CTO技术栈公众号