2016-07-13 9 views
0

REST(POST)APIコールの生のレスポンスをgroovyスクリプトを使用してファイルにキャプチャしようとしています。SOAP UI - ファイル内のREST rawレスポンスをキャプチャする方法

RAWの回答がありますが、ファイルが作成されると空白になります。

REST応答:

HTTP/1.1 401 Unauthorized 
content-length: 0 
Date: Tue 12 jul 2016 12:12:12gmt 
WWW-Autheticate: OAuth 
Server: Jetty (8.1.17V20150415) 

Iは、SOAP UIのバージョン5.2を使用しています。

助けてください。

のGroovyスクリプト:

def Date startTime = new Date() 
File it=new File("Result") 
def cur_Time = startTime.getMonth()+1 + "_" + startTime.getDate() 
cur_Time = cur_Time + "_" + startTime.getHours() + startTime.getMinutes() +startTime.getSeconds() 
def fileName = it.name + "_" + cur_Time 
//Request File 
def myXmlRequest="C:\\ConnectivityResults\\"+ "Rest_Request" + fileName+".xml" 
def request=context.expand('${Testcasename#Request}') 
def req = new File (myXmlRequest) 
req.write(request,"UTF-8") 

//Response File 
def myXmlResponse="C:\\ConnectivityResults\\"+ "Rest_Response" + fileName+".xml" 
def response=context.expand('${Testcasename#Response}') 
def res = new File (myXmlResponse) 
res.write(response,"UTF-8") 
+0

'testrunner -A'を使うのはなぜですか?ありがとう。albciff。 – SiKing

答えて

1

問題はあなたののGroovyスクリプトの中で、おそらくではありませんが、問題はあなたの要求が正しくないと、何も応答として返されないことだけです。あなたが質問に表示http-headersに基づいて:

HTTP/1.1 401 Unauthorized 
content-length: 0 
Date: Tue 12 jul 2016 12:12:12gmt 
WWW-Autheticate: OAuth 
Server: Jetty (8.1.17V20150415) 

あなたが代わりに200 OK401 Unauthorized応答を受信して​​いる、そしてそれはあなたの応答が空白であることが普通です0ですContent-lenghtに基づいて、そう何のコンテンツがありませんファイルに保存する。

EDIT BASED ONのCOMMENT

ファイルでhttp-headersを保存するためにもしたい場合は、あなたがあなたののGroovyスクリプトに次のスニペットを追加することができます。

def fileName = ... 
// http-headers file 
def httpHeadersFilePath ="C:/ConnectivityResults/Rest_Request${fileName}.txt" 
def ts = testRunner.testCase.getTestStepByName('Testcasename') 
def headers = ts.getTestRequest().response.responseHeaders 
def httpHeaderFile = new File(httpHeadersFilePath) 
httpHeaderFile.text = '' 

headers.each { key, value -> 
    httpHeaderFile.append("${key}:${value}\n",'UTF-8') 
} 

はそれが役に立てば幸い、

+0

非常に詳細な答えをいただきありがとうございます。 – Geeme

+0

(上記のように)レスポンスをキャプチャしてファイルに入れる方法はありますか? – Geeme

+0

@Geeme何を意味しましたか?応答が空白の場合は、例えば 'http-headers'を保存しますか? – albciff

関連する問題