Как проверить весь JSON с 1 динамическим полем с помощью JMeter - PullRequest
0 голосов
/ 29 марта 2019

У меня есть утверждение JSR223 в JMeter, которое проверяет весь ответ JSON и его работу.Проблема заключается в том, что каждый раз, когда я вставляю данные в БД, изменяется одно из полей JSON и происходит сбой проверки.

Как можно пропустить это динамическое поле из проверки ответа?

Пример JSON ответа:

[
  {
    "id": "273444",
    "trxDateTime": "2019-03-25T22:38:16Z",
    "merchantName": "MerchECOM1",
    "merchantTransId": "1r1vXue4qn",
    "trxType": "Payment",
    "paymentBrand": "MasterCard",
    "amount": 20.00,
    "currencyCode": "AUD",
    "status": "Declined",
    "statusResponseMessage": null,
    "customerAccount": "123456"
  }
]

JSR223 Утверждение:

def expected = new groovy.json.JsonSlurper().parseText(vars.get('expected1'))
def actual = new groovy.json.JsonSlurper().parse(prev.getResponseData())

if (expected != actual) {
    AssertionResult.setFailure(true)
    AssertionResult.setFailureMessage('Mismatch between expected and actual JSON')
}

только с этим я не могу проверить динамическое поле "id"

Любая идея?

Спасибозаранее

Ответы [ 2 ]

2 голосов
/ 29 марта 2019

Если вас не интересует это поле id - просто удалите из ожидаемой переменной и фактического ответа, чтобы изменить первые 2 строки вашего утверждения, чтобы они выглядели так:

def expected = new groovy.json.JsonSlurper().parseText(vars.get('expected1')).each {entry -> entry.remove('id')}
def actual = new groovy.json.JsonSlurper().parse(prev.getResponseData()).each {entry -> entry.remove('id')}

Дополнительная информация:

Демо:

enter image description here

0 голосов
/ 29 марта 2019

Если значение не относится к полю id, вы можете напрямую использовать регулярное выражение, чтобы проверить поле с помощью Jsonassertion, указав jsonpath и проверить соответствие, так как регулярное выражение использует регулярное выражение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...