Необходимо проверить значение не должно быть нулевым или 0 из всего списка массива с помощью скрипта Groovy Утверждение - PullRequest
0 голосов
/ 08 февраля 2019

Я работаю API, который выдает список бронирования Ride, и из ответа Json мне нужно проверить, что DestinationEstimatedTravelTime не должен быть равен 0 или Нуль

Ожидается через утверждение скрипта: он должен сканировать все доступные ответы массиваи проверьте условие, чтобы "DestinationETA" был больше 0.

Ниже приведено изображение моего Ответа

enter image description here

Нижекод, который я использовал, я использовал для цикла.

import groovy.json.JsonSlurper
//grab response
def response = messageExchange.response.responseContent
def jsosl = new JsonSlurper().parseText(response)
for(int i =0 ; i < jsos1.size(); i++)
{
    if(Results[i].DestinationETA == 0 | Results[i].DestinationETA != "Null" )
    {
        log.info("Values are greater than 0")
    }
    else
    {
        log.info("test case Fail  ")
    }
}

enter image description here

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Я работал над этим, и я сам нашел решение

    //Import file
import groovy.json.JsonSlurper
import com.eviware.soapui.model.testsuite.TestRunner.*
import com.eviware.soapui.model.testsuite.*
import com.eviware.soapui.model.*
//Grab Response
def response = messageExchange.response.responseContent
def json = new groovy.json.JsonSlurper().parseText(response)
//take count 
def count = json.Results.size()
for(int i=0; i<count; i++) //loop to traverse to each object 
{
log.info(json.Results[i].DestinationETA) // print result 
assert json.Results[i].DestinationETA != null
assert json.Results[i].DestinationETA != 0 
}
0 голосов
/ 08 февраля 2019

Ваша ошибка в том, что вы называете это jsosl в одном месте, затем jsos1 в следующем

(последний символ - строчная буква L, затем 1)

Вы можете изменитьВаш код:

assert json.Results.every { it.DestinationETA }

Как и в Groovy, 0 или null равен false

...