В настоящее время я пишу несколько тестов в ReadyAPI для тестирования нового API, который мы создаем.API вернет JSON в следующем формате:
{
"testJSON" : [
{
"test1" : "111",
"test2" : "ABC"
},
{
"test1" : "222",
"test2" : "DEF"
}
]
}
Я добавил следующий код Groovy, который разбивает JSON и перечисляет каждое значение:
import groovy.json.JsonSlurper
def jsonResp = context.expand( '${GetTest#Response}' )
def jsonElements = new JsonSlurper().parseText(jsonResp)
for ( value in jsonElements.testInput ) {
value.each{
log.info "${it.key}:${it.value}"
}
}
Что я пытаюсь сделатьнужно взять этот ответ JSON и сравнить его с заранее определенным списком данных (используя источник данных в ReadyAPI).Этот источник данных будет содержать столбец с именем «test1» и столбец с именем «test2» - они будут содержать все значения, ожидаемые для каждого объекта.Поэтому нам необходимо убедиться, что каждое значение test1 из источника данных отображается в ответе JSON.И мы также хотели бы подтвердить, что для каждого «test1» мы получаем правильный соответствующий «test2».
Так что в приведенном выше примере мы хотели бы доказать, что ответ содержал значения «test1» 111и 222, и что для 111 мы получили значение 'test2' ABC и т. д.
Приведенный выше пример является упрощенным представлением нашего нового API и в действительности он будет содержать гораздо большее количество полей и многобольше ответов.Поэтому в идеале я не хочу жестко кодировать конкретные значения в скрипте Groovy - вот почему я пытаюсь использовать таблицу данных.
Кто-нибудь имел опыт такого рода вещей иможете сделать какие-либо предложения?
Заранее спасибо за вашу помощь, пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
Ура, Мэтт