我正在用jmeter工具测试elasticsearch,还不能解决错误http请求字符串引用的情况。
我的管道:
读取csv文件
对elasticsearch进行查询
测试数据集包含带双引号的字符串。在这种情况下,我使用三重引用。
例如,
查询\u 1
{
"query":
{
"match":
{
"title":
{
"query": """Green apple" fresh"""
}
}
}
}
响应1
"caused_by":{"type":"json_parse_exception",
"reason":"Unexpected character ('\"' (code 34)):
was expecting comma to separate Object entries\n at [
Source: (org.elasticsearch.common.bytes.AbstractBytesReference$MarkSupportingStreamInputWrapper)
由于“'”符号而发生错误。
如果我在kibana中运行相同的查询,答案是正确的。
我正在使用for请求内容类型:application/json;字符集=utf-8
在jmeter system.properties中编码:
- file.encoding=UTF-8
- file.encoding.pkg=sun.io
- sun.io.unicode.encoding=UnicodeBig
- sun.jnu.encoding=UTF-8
还有
Jmeter ver.: 5.3
ElasticSearch ver.: 7.9
有没有可能不经过数据预处理就解决这个问题?
如果您有任何建议,我们将不胜感激!
2条答案
按热度按时间s71maibg1#
使用groovy脚本通过jsr223预处理器在不使用三重引号的情况下解析:
感谢@janesh的发现。
rslzwgfq2#
你可以在双引号前用反斜杠
\"
在值内}