解决http请求头解析报错问题

This commit is contained in:
liangdaliang
2025-03-07 10:21:21 +08:00
parent cb7c61f4ab
commit f03c270980
2 changed files with 13 additions and 5 deletions

View File

@@ -100,12 +100,19 @@ public class JMeterUtil {
}
// 5. 创建请求头管理器
Map<String, String> headerMap = new HashMap<>();
if (!StringUtils.isEmpty(requestHeader)) {
if (!StringUtils.isEmpty(requestHeader) && !requestHeader.equals("[]")) {
Gson gson = new Gson();
// 定义 Map 的类型
Type type = new TypeToken<Map<String, String>>() {}.getType();
// JSON 字符串转换为 Map
headerMap = gson.fromJson(requestHeader, type);
// 定义类型
Type type = new TypeToken<List<Map<String, String>>>() {}.getType();
// 解析 JSON 数组
List<Map<String, String>> headerList = gson.fromJson(requestHeader, type);
// 将 List<Map<String, String>> 转换为 Map<String, String>
for (Map<String, String> entry : headerList) {
String key = entry.get("key");
String value = entry.get("value");
headerMap.put(key, value);
}
}
HeaderManager headerManager = createHeaderManager(headerMap);

View File

@@ -150,6 +150,7 @@ public class TestCaseStepServiceImpl implements ITestCaseStepService {
jmeterRequest.setRequestParams(testCaseStep.getRequestParams());
jmeterRequest.setRequestHeader(testCaseStep.getRequestHeader());
jmeterRequest.setJmeterHomePath(jmeterHomePath);
log.info("getRequestHeader:{}", jmeterRequest.getRequestHeader());
Map<String, String> resultMap = JMeterUtil.getJmeterResult(jmeterRequest);
return resultMap;