JMeter 在字符串化 json 上断言的问题:“值预计为 {\"host\": \"testHost221\"},但发现 {"host": "testHost221"}"

问题描述 投票:0回答:0

我正在使用 Jmeter 来测试两件事。

  1. big strings(多个字符作为值,例如。“ valueeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,,,,,,,

  2. 一百个用户的字符串化 json 的 json 请求中的小字符串(只是一个普通值,例如“值”)。

*** 首先我使用 PUT http 请求用 json 数据更新数据库:

{ “数据”:“{“服务器”:[{“主机”:“testHost221”,“端口”:1234,“useSSL”:false,“useTLS”:false,“密码”:“testPassword1”,“用户名”: “可可”}]}” }

*** 然后我使用 GET 来验证来自数据库的结果。

*** 这是我在两个测试的 JSON 断言中得到的错误(当然,当我使用大字符串作为值时,值看起来不像 username=koko,但是 kokoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

Value expected to be '"{"servers": [{"host": "testHost221", "port": 1234, "useSSL": false, "useTLS": false, "password": "testPassword1", "username ": "koko"}]}"',

但发现'{“服务器”:[{“主机”:“testHost221”,“端口”:1234,“useSSL”:false,“useTLS”:false,“密码”:“testPassword1”,“用户名”:“ “}]}'

注意:似乎 stackoverflow 也删除了转义,所以我正在上传失败断言的图片:

它发生在“大字符串 - 1 个用户”和“小字符串 - 100 个用户”两个测试中。 然而,这发生在第 49 次执行左右(当我使用 100 个用户使用短字符串时),但是当我使用大字符串值时总是发生(上面显示了许多字符)。

那么为什么转义会在某个时候被删除?谁能帮我? 注意:我必须使用这个(字符串化的)json!

我尝试使用来自插件管理器的 http 原始请求,但它一直返回 400,我猜它不喜欢 json。我问了 AI,它表明 Jmeter 可能会将转义视为正则表达式并在某些时候感到困惑......结果是一致的,通过和失败的测试......总是在第 49 次执行测试时(当我使用 100 个用户)并且总是在我使用 1 个具有大值的 json 键的用户时。 Postman 没有这个问题(我用长串值测试了这个案例,不知道如何在 postman 上测试 100 个用户,如果有可能的话......)

json jmeter postman escaping 400-bad-request
© www.soinside.com 2019 - 2024. All rights reserved.