求助:使用JMeter根据响应生成动态HTTP请求的方法
提取UserID并生成动态HTTP请求
实现步骤
- 解析目标响应数据,提取所有
UserID字段的值 - 将每个UserID拼接到底部URL模板上,生成完整的请求地址
Python代码实现
# 模拟原始响应数据(已修正为合法JSON格式) response_data = [ {"UserID": 2, "UserName": "Kumar"}, {"UserID": 5, "UserName": "Sunil"} ] # 基础请求URL模板 base_url = "https://perftest.com/?userId=" # 批量生成请求地址 request_urls = [f"{base_url}{user['UserID']}" for user in response_data] # 输出结果 for url in request_urls: print(url)
运行输出
https://perftest.com/?userId=2 https://perftest.com/?userId=5
处理非标准格式响应
如果原始响应是不带引号的非标准JSON(如示例中的{ UserID:2, UserName:Kumar}),可以先做格式转换再解析:
import json # 原始非标准响应字符串 raw_response = '''[ { UserID:2, UserName:Kumar}, { UserID:5, UserName:Sunil}, ]''' # 替换为合法JSON格式 valid_json = raw_response.replace("UserID", "\"UserID\"")\ .replace("UserName", "\"UserName\"")\ .replace("Kumar", "\"Kumar\"")\ .replace("Sunil", "\"Sunil\"") response_data = json.loads(valid_json) # 后续生成请求地址的逻辑同上
内容的提问来源于stack exchange,提问作者Kumar
相关产品推荐
相关产品推荐

