为了模拟真实用户线上访问的场景,在压测时需要对请求数据做参数化。jmeter脚本中有如下三种方法进行设置。
依赖登陆态的接口以及搜索接口,都涉及到依赖外部数据,那么如果依赖的数据已存放到文本文件,就可以使用csv数据文件进行传参,实现数据多样性。
csv数据文件设置
1)添加csv数据文件设置,按照如下图配置:
2)打开http请求,参数化token值,标准写法:xxx:${token}
请求参数中存在手机号、邮箱时,做数据多样性只要保证位数和字符类型正确即可,系统不会校验该邮箱是否真的存在。因此可以使用随机函数random、randomString等随机化
函数助手
1)打开函数助手,选择random一系列的函数,可以看到有4个random相关的函数
2)用randomString举例,对邮箱随机化。分析邮箱的数据结构xxxxxxxxx@163.com,前面的部分长度没有要求,内容为数字+字母的组合。
如下图所示:设置生成9位包含数字和字母的字符串
3)将表达式赋值给请求中的参数(别忘了邮箱后缀):"xxx":"${__RandomString(9,0123456789abcdfeghijklmnopqrstuvwxyz)}@163.com"
如果该接口的参数需要大量数据,并且不能重复或者需要一定的递增/递减的顺序,可以使用计数器实现。
计数器
1)添加计数器组件,设置由1递增,每次增加1,最大增加至10000,请求到最大值后,又重新设置为初始值
2)赋值给参数,格式:xxx:${引用名称}
3)运行脚本,查看请求信息,city已被赋值为00001(图里请求失败只是举例子,不代表脚本最终运行结果)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。