【jmeter】-脚本-遇自动转义要使用CSV文件

1、问题现象

jmeter运行遇到类似报错:

{

"traceId": "b62310d64246a0b3",

"code": 999,

"uploadable": "0",

"detailMsg": null,

"level": 0,

"displayCode": "999-999-999999",

"message": "Unexpected character ('b' (code 98)): was expecting comma to separate Object entries\n at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 5961]"

}

{

"traceId": "f352c431083ee35f",

"code": 999,

"uploadable": "0",

"data": null,

"detailMsg": null,

"level": 0,

"displayCode": "999-999-999999",

"errorDetail": null,

"message": "JSON parse error: Unexpected character ('i' (code 105)): was expecting comma to separate Object entries; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character ('i' (code 105)): was expecting comma to separate Object entries\n at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 2233]",

"confirmIds": null

}

2、解决办法

不要在取样器-HTTP请求-消息体数据中直接粘贴请求体;

要用CSV获取文件中的请求体,然后在取样器-HTTP请求-消息体数据中使用变量引用;(如果还需要对请求体进行修改,则再使用JSR223 预处理程序)

3、原因分析

在 HTTP 请求的 "Body Data" 或 "Parameters" 区域直接输入 JSON 字符串时,JMeter 可能会自动处理转义字符。

使用 CSV Data Set Config 从 CSV 文件读取数据时,JMeter 会将文件中的内容作为原始字符串处理,不会自动进行转义。

在 HTTP 请求的 "Body Data" 或 "Parameters" 区域直接输入 JSON 字符串:

{\\\"isMustHaveBill\\\":\\\"false\\\",\\\"sendtowms\\\":\\\"false\\\",\\\"isGenerateBarcode\\\":\\\"false\\\",\\\"isUpdateStock\\\":\\\"true\\\",\\\"isUpdateCost\\\":\\\"true\\\"}--截取部分

jmeter发送请求,从查看结果树中查看,发现自动转义成了:

{\\"isMustHaveBill\\":\\"false\\",\\"sendtowms\\":\\"false\\",\\"isGenerateBarcode\\":\\"false\\",\\"isUpdateStock\\":\\"true\\",\\"isUpdateCost\\":\\"true\\"}--截取部分

相关推荐
半个俗人8 小时前
06postman批量执行及参数化
测试工具·postman
紫丁香8 小时前
Selenium自动化测试详解1
python·selenium·测试工具·ui
软件测试君10 小时前
自动化测试路线图之自动化测试完整指南
自动化测试·软件测试·测试工具·面试·职场和发展·单元测试·职场经验
半个俗人12 小时前
05postman关联-常用的数据提取方式
测试工具·jmeter·postman·js
123过去14 小时前
ike-scan使用教程
linux·测试工具
半个俗人14 小时前
07.postman newman生成测试报告
测试工具·postman
爱敲代码的菜菜1 天前
【测试】自动化测试
css·selenium·测试工具·junit·自动化·xpath
123过去1 天前
wireshark使用教程
linux·网络·测试工具·wireshark
123过去1 天前
hexinject使用教程
linux·网络·测试工具
测试19981 天前
功能测试、自动化测试、性能测试的区别?
自动化测试·软件测试·python·功能测试·测试工具·性能测试·安全性测试