首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMeter中相关的JSON响应体

JMeter中相关的JSON响应体
EN

Stack Overflow用户
提问于 2021-08-09 04:06:27
回答 3查看 446关注 0票数 0

我试图在JMeter 5.0中设计一个API负载测试的测试脚本。这是我的线程组信息:

下面是身体数据,我已经给它添加了一些变量和函数。您还可以在这里上查看示例JSON正文数据

代码语言:javascript
复制
    {
    "app_name": "Telekom",
    "source": "MOENGAGE",
    "moe_request_id": "req_${__threadNum}",
    "events": [
        {
            "event_name": "Email Opened",
            "event_code": "MOE_EMAIL_OPEN",
            "event_uuid": "${__UUID}",
            "event_time": ${__jexl3(${__time(,)}/1000,)},
            "event_type": "CAMPAIGN_EVENT",
            "event_source": "MOENGAGE",
            "uid": "${__counter(,)}-${__RandomString(7,ABCDEFG123456)}${uid}",
            "email_id": "${email}",
            "event_attributes": {
                "campaign_id": "${__RandomString(24,abcdefghijklmn123456789)}",
                "campaign_name": "July2021_16072021_LigaSuper_English",
                "campaign_type": "GENERAL",
                "campaign_channel": "EMAIL",
                "moe_delivery_type": "One Time",
                "moe_campaign_tags": [
                    "engagement"
                ],
                "moe_campaign_channel": "Email",
                "u_em": "${email}"
            },
            "user_attributes": {
                "PRODUCT_TYPE": "Unifi",
                "moengage_user_id": "60dc48d4d722040a2e78b788",
                "SERVICE_NO": "${uid}",
                "id": "${email}"
            },
            "device_attributes": {}
        }
    ]
}

我还包括JSON抽取器,用于在响应体上进行关联:

以下是查看结果树中的结果。增加了调试采样器,看看我的参数化和相关是否工作。幸运的是,只有我的参数化是有效的,而相关性不起作用。

更新的:这是响应体的示例:

我想在响应体中与"rqUuid": "urn:uuid:1a5d8617-258c-49f7-b1a7-5b8ee71fb9fd"相关。问题是,这是关联JSON体的正确方法吗?我是否需要关联响应体,尽管我已经在正文数据中定义了函数"event_uuid": "${__UUID}"

谢谢。感谢你的帮助。

EN

回答 3

Stack Overflow用户

发布于 2021-08-09 05:28:40

您可以使用JSON萃取器JSON JMESPath萃取器从JSON响应中提取值。

您的JSON路径表达式应该是responseHeader.rqUuid

您可以通过视图结果树或联机工具计算JSON路径表达式或JMESPath表达式。

  1. 视图结果树
  1. 您可以使用http://jsonselector.com/在线生成表达式。
  2. JMSE路径评估器https://jmespath.org

示例JMX被上传到GitHub以供参考https://github.com/pragmatictesters/Pragmatic-Learning-JMeter-Examples/blob/master/TestPlan-StackOverFlow-68706730-JSON.jmx

票数 0
EN

Stack Overflow用户

发布于 2021-08-09 05:44:16

您正在使用正则表达式使用JSON从JSON响应中获取数据。您需要使用JSON路径表达式而不是正则表达式。

如果要从响应中提取event_uuid,则json路径表达式将是events[*].event_uuid

要获取event_uuid数组对象的第一个events,可以使用events[0].event_uuid

票数 0
EN

Stack Overflow用户

发布于 2021-08-09 06:55:31

JSON Extractor允许您执行JsonPath查询,看起来您正在尝试在那里使用正则表达式,这将导致语法错误,您可以查看jmeter.log文件获得详细信息:

您正在向我们展示请求数据,并询问如何从响应中提取值,以便能够帮助我们至少看到部分(或更好的完整)响应数据,以及需要它的哪一部分。

到目前为止,我只能给出以下建议:切换到正则表达式抽取器,它有可能在没有任何更改的情况下开始工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68706730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档