2016-08-02 9 views
-3

私は以下のREST APIからの出力を持っています。私はレスポンスからIDを取得し、別のテストにパラメータとして渡したいと思います。出来ますか?SOAP UI - jsonレスポンスの値を取得し、別のテストケースにパラメータとして渡すことは可能ですか?

{ 
    "Documents": "1", 
    "maxResults": "1000", 
    "pageSize": "1", 
    "startIndex": "0", 
    "documents": [ { 
     "id": "sdfg7234-shdjfh823-wjk283-sdjf29", 
     "name": "nameofodc.doc", 
    }] 
} 
+0

もちろん、すべてが可能です!何を試しましたか?何がうまかった?どうしたの?何を学びましたか?ドキュメンテーションのどの部分をフォローしようとしましたか?おそらく不明ですか?あなたは[ask]を読んだことがありますか? – SiKing

+0

@Geeme、あなたがまだそれを探している場合は、答えを確認してください。 – Rao

答えて

0

ここ次いでIDと呼ばれるテストケースレベルのカスタムプロパティに値を格納する所定のJSONレスポンスのdocumentsからidを取り出すことができるかっこいいスクリプトです。

このスクリプトでは、デモンストレーション目的でstatic/fixed responseを使用しています。

import groovy.json.* 
def response ='''{ "Documents": "1", "maxResults": "1000", "pageSize": "1", "startIndex": "0", "documents": [ {  "id": "sdfg7234-shdjfh823-wjk283-sdjf29",  "name": "nameofodc.doc", }] }''' 
//Parse the response string 
def parsed = new JsonSlurper().parseText(response) 
//Extract the value of id and store it at test case level property ID 
context.testCase.setPropertyValue('ID', parsed.documents[0].id.toString()) 

スクリプトが動的応答で動作するようにするには、上記の2番目の文を次の文に置き換えます。他のステップでID保存された上記の使用方法

 
//Replace LoginRequest with actual test step name 
def response = context.expand('${LoginRequest#Response}') 

  • 次のステップは、要求ステップである場合は、次のステップは、
 
context.expand('{#TestCase#ID}') 

または

 
def id = context.testCase.getPropertyValue('ID') 
log.info "ID retrieved from test case property is ${id}" 
  • のGroovyスクリプトの場合は、property expansionを使用するには、${#TestCase#ID}
を言います
関連する問題