2012-06-18 2 views
0

Я использую SoapUI Pro 4.5.0, а также новичок для этого инструмента. Мне нужно получить значение из ответа (формат JSON). Может ли кто-нибудь дать мне образец кода для этого?Как получить ответ от формата JSON с помощью скрипта?

Примечание. Я использую службу на основе REST, а не службу на основе SOAP.

+0

com.jayway.jsonpath JSON-путь 0.8.1 chrismead

ответ

1

SoapUI включает в себя класс JsonSlurper в заводной банке, так что вы просто должны импортировать его как

import groovy.json.JsonSlurper 

, а затем ответ получен как

responseContent = testRunner.testCase.getTestStepByName("<test_step_name>").getPropertyValue("Response") 

jsonresponse = new JsonSlurper().parseTest(responseContent) 

Теперь вы можете доступ к элементам в ответ, как

jsonresponse.id 
0

Я бы предложил использовать JSONPath из сценария Groovy. Возможно, вам нужно добавить JSONPath Jar в каталог/bin/ext.

Я не SoapUI передо мной, но в заводных сценариях было бы что-то вроде:

def getResponse = context.expand('${SomeGet#response}') 
def jsonSuff = JsonPath.read(getResponse, "\$..*") 

Вот что было в моем POM, если у вас есть проблемы с другим JAR (I создал внешний JAR, который я использовал в SoapUI).

<dependency> 
    <groupId>com.jayway.jsonpath</groupId> 
    <artifactId>json-path</artifactId> 
    <version>0.8.1</version> 
</dependency> 

И это был мой импорт заявление: импорт com.jayway.jsonpath.JsonPath

+0

могли бы вы сказать мне, где я могу получить JSONPath.jar файл? –

+0

Я загрузил следующие файлы jar отсюда. http://grepcode.com/snapshot/repo1.maven.org/maven2/com.jayway.jsonpath/json-path/0.5.3 –

Смежные вопросы