JMeter如何获取登录后下拉框最新选中值对应的客户数据
JMeter获取切换客户后返回的专属数据解决方案
你遇到的问题根因为BlazeMeter录制脚本时默认硬编码了录制阶段选中的客户ID参数,没有做动态替换和返回值提取配置,因此执行时始终触发默认客户的查询逻辑。可按以下步骤操作解决:
1 修正切换客户请求的参数配置
- 先在录制的脚本中找到手动切换客户时触发的HTTP请求,一般该请求会携带
customerId/tenantId这类客户唯一标识参数,BlazeMeter录制时会把你录制阶段选中的客户ID写死为固定值 - 打开你的CSV数据文件配置,确认CSV中已存入目标客户ID对应的变量,比如变量名为
${target_customer_id},把切换客户请求中硬编码的客户ID值替换为该变量
2 配置提取规则获取最新客户数据
根据切换客户后返回的响应格式,在切换客户的HTTP请求下级添加对应的提取器:
- JSON格式响应:添加
JSON提取器- 引用名称:填写你后续要调用的变量名,比如
extracted_customer_info - JSON Path表达式:按你需要提取的内容填写,比如提取完整客户数据块写
$.data.customer,提取单个字段如客户名称写$.data.customer.name - 匹配数字填
0代表取第一个匹配结果
- 引用名称:填写你后续要调用的变量名,比如
- HTML格式响应:添加
CSS选择器提取器或XPath提取器- 比如要提取页面隐藏域存储的客户ID,CSS选择器填
input[name="customerId"],属性填写value,即可将值存入指定变量
- 比如要提取页面隐藏域存储的客户ID,CSS选择器填
- 正则通用匹配:如果是不规则文本响应,添加
正则表达式提取器,配置正则规则匹配你需要的内容即可
3 验证与调用
- 可以在提取器后添加
调试取样器,执行脚本后在结果树中查看你定义的变量是否成功获取到对应客户的值 - 后续测试步骤直接用
${你定义的变量名}即可调用提取到的客户数据
注意事项
- 确保切换客户的请求执行顺序在提取操作、后续调用步骤之前,JMeter取样器按从上到下的顺序执行
- 如果网站有CSRF校验,要先提取当前请求的CSRF token带入切换客户的请求中,避免请求被拦截返回默认数据
- 确认CSV中存储的客户ID在你登录的管理员账号权限范围内,无权限的客户请求会被系统拦截,仍然返回默认客户数据
内容的提问来源于stack exchange,提问作者Sai Nagesh
相关产品推荐
相关产品推荐

