2016-09-28 5 views
-1

リクエスト1からレスポンスを解析し、レスポンスからリクエスト2に特定の数値を渡す必要があります。以下はJSONレスポンスです。SoapUI RESTレスポンスセッショントークン


HTTP/1.1 200 OK 日:水曜日、2016年9月28日午後07時42分三十五秒GMT のContent-Length:61

{ "response":"New session Created with session Id 123456789101213" }


私は何を使用する必要があります - グルーヴィーまたはプロパティの転送? groovy - 私が使用するコードを教えてください プロパティの転送 - 必要な構文解析メッセージは何ですか?

答えて

0

はい、いずれかの方法で実行できますが、これは追加の手順です。

現在のテストステップでScript Assertionを使用することによって、追加の手順を実行せずに行うこともできます。そこで応答もアサートされることができます。

疑似命令:

  • 応答を取得し、必要な値が
  • を使用して取得した値を使用してテストケースレベルで値を設定し、応答
  • で存在すること
  • アサート場合パーステストケースの他のテストステップにおけるプロパティ拡張。テストケースの他のテストステップで取得したセッションIDを使用する方法

スクリプトアサーション

/** 
* This is a script assertion 
* which reads the response and asserts if there is response 
* reads response property and sets at test case level property SESSION_ID 
*/ 
def jsonString = context.response 
def json = new groovy.json.JsonSlurper().parseText(jsonString) 

//Check if the response is not empty or null 
assert json, "Response received is empty or null" 
def sessionId = json.response as String 

//Check if there is reponse property exists in response json 
assert sessionId, "response property is empty or null" 
log.info "Session id : ${sessionId}" 

//To set the value at test case level 
context.testCase.setPropertyValue('SESSION_ID', sessionId) 

  • ステップタイプは、Groovyのスクリプトは、以下の2つの方法のいずれかを使用している場合

  • ステップタイプは、他のタイプのものであればcontext.expand('${#TestCase#SESSION_ID}')または
    context.testCase.getPropertyValue('SESSION_ID')

    は、SOAP、REST、JDBCを言いますHTTPなど、そして使用:
    ${#TestCase#SESSION_ID}

注:もちろん、スイート0に値を設定することも可能ですまた、スイートレベルまたはプロジェクトレベルで検索した値を再利用できるプロジェクトレベルもあります

関連する問題