Проверьте значение элемента в полезной нагрузке json - PullRequest
1 голос
/ 21 сентября 2019

Когда мы вызываем метод HTTP GET, API возвращает данные.Я хочу оценить, что все возвращаемое значение определенного значения входного ключа соответствует указанному в GET URL.

URL, который вызвал: HTTP Get метод.->

https://dummy.dns.com/Wells/resource?$filter=employee.address eq 'France FR'

API возвратил следующий ответ:

{"next":"https://dummy.dns.com/Wells/resource?$skip=10&$filter=employee.address eq 'France FR'","value":[{"customer.name":"Stefan Peter","customer.landlinePhoneNumber":"97642","employee.country.name":"France","employee.country.id":"FR","employee.address":"France FR","employee.latitude":49,"employee.longitude":7.6,"leave.count":0,"_id":"M1023453","_externalId":"WF3453","_name":"WellsFargo","_employeeType":["contractual"],"_employee":"WF3453","_customer":"M1023453","leave.sickCount":0,"leave.casualCount":0},{"customer.name":"Stefan Peter","customer.landlinePhoneNumber":"97642","employee.country.name":"France","employee.country.id":"FR","employee.address":"France FR Junk","employee.latitude":49,"employee.longitude":7.6,"leave.count":0,"_id":"M1023454","_externalId":"WF3454","_name":"WellsFargo","_employeeType":["contractual"],"_employee":"WF3454","_customer":"M1023454","leave.sickCount":0,"leave.casualCount":0},{"customer.name":"Stefan Peter","customer.landlinePhoneNumber":"97642","employee.country.name":"France","employee.country.id":"FR","employee.address":"France FR","employee.latitude":49,"employee.longitude":7.6,"leave.count":0,"_id":"M1023455","_externalId":"WF3455","_name":"WellsFargo","_employeeType":["contractual"],"_employee":"WF3455","_customer":"M1023455","leave.sickCount":0,"leave.casualCount":0}]}

Теперь я хочу убедиться, что пара ключ-значение совпадает с той, которую я передал в URL какпараметр ввода / запроса.

Я использую JMeter в качестве клиента для оценки функциональности API.что такое пользовательское утверждение для оценки.Ответ является массивом, и его размер может увеличиться до 100 или 200. Может кто-нибудь, пожалуйста, предложите.заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 24 сентября 2019
  1. Добавить Утверждение JSR223 как дочерний элемент сэмплера HTTP-запроса, который возвращает вышеупомянутый ответ
  2. Поместить следующий код в область «Сценарий»:

    new groovy.json.JsonSlurper().parse(prev.getResponseData()).value.each { entry ->
        if (!entry.get('employee.address').equals('France FR')) {
            AssertionResult.setFailure(true)
            AssertionResult.setFailureMessage('Expected "France FR", got "' + entry.get('employee.address') + '"')
        }
    }
    
  3. Вот и все, в случае несоответствия сэмплер будет помечен как неисправный:

    enter image description here

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

0 голосов
/ 21 сентября 2019

Используйте JSON Assertion и установите это:

  • Assert JSON PATH существует: $ .. value [*]. ['Employee.address']
  • Отметьте «Дополнительно утверждать значение»
  • Введите ожидаемое значение: Франция FR

JSON Assertion

...