Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 对ElasticSearch的Jmeter http请求中的三重引号_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Jmeter - Fatal编程技术网 elasticsearch 对ElasticSearch的Jmeter http请求中的三重引号,elasticsearch,jmeter,elasticsearch,Jmeter" /> elasticsearch 对ElasticSearch的Jmeter http请求中的三重引号,elasticsearch,jmeter,elasticsearch,Jmeter" />

elasticsearch 对ElasticSearch的Jmeter http请求中的三重引号

elasticsearch 对ElasticSearch的Jmeter http请求中的三重引号,elasticsearch,jmeter,elasticsearch,Jmeter,我正在用Jmeter工具测试ElasticSearch,但还不能解决http请求字符串引用错误的问题 我的管道: 读取csv文件 对ElasticSearch进行查询 测试数据集包含内部带有双引号的字符串。 在这种情况下,我使用三重引用 比如说, 问题1 { "query": { "match": { "title": {

我正在用Jmeter工具测试ElasticSearch,但还不能解决http请求字符串引用错误的问题

我的管道:

  • 读取csv文件
  • 对ElasticSearch进行查询
  • 测试数据集包含内部带有双引号的字符串。 在这种情况下,我使用三重引用

    比如说,

    问题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;charset=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
    
    是否可以在不进行数据预处理的情况下修复此情况


    非常感谢您的建议。

    您可以在值中双引号
    \“
    之前使用反斜杠

    {
    "query":
    {
        "match":
        {
            "title":
            {
                "query": "Green apple\" fresh"
            }
        }
    }
    

    }

    使用groovy脚本通过JSR223预处理器解决,无需三重引用:

    def title_escaped = vars.get("title").replaceAll('\\"','');
    vars.put('title_escaped', title_escaped);
    

    感谢@Janesh的发现。

    Janesh,谢谢。我试图找出如何设置Jmeter预处理器来解决这个问题。