如果想要掌握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年学习的软件测试学习干货,可以送给每一位对软件测试感兴趣的小伙伴,想要获取的可以关注我的头条号并在后台私信我:【测试】,即可免费获取。