2017-09-25 2 views
1

私は無料のsoap-uiバージョンを使用しています。 基本的な追加操作(電卓のWSDL)のために、私はgroovyを使ってテキストファイルから入力を送り、その応答を保存します。私が使用していますsoapuiのテキストまたはExcelファイルへの応答をキャプチャします

のGroovyスクリプトは次のとおりです。

nextLine=context.fileReader.readLine() 
def inputFileResponse = new File("D://file.txt") 
if(nextLine!=null){ 
String[] inpData=nextLine.split(",") 
testRunner.testCase.testSteps["Properties"].setPropertyValue("num1",inpData[0]) 
testRunner.testCase.testSteps["Properties"].setPropertyValue("num2",inpData[1]) 
inputFileResponse.write(context.testCase.testSteps["Add - Request 1"].getProperty("response").value) 
testRunner.gotoStep(0)    
} 

問題エリア:

1.Nowこれは私の完全なXMLレスポンスを与えています。しかし、私はちょうどnodevalue "AddResult"を取得したい、私はファイルに保存したい。

  1. 4入力のうち、最後の入力の応答をキャプチャしています。すべての応答をキャプチャします。

答えて

0

あなたの質問1 /ここでは、xmlNodeをGroovyで取得するスニペットを示します。
context.expand('${Add - Request 1#Response#//*AddResult/text()}')
レスポンスにAddResultという名前のフィールドが多数ある場合は、ノードへのフルパスを入力する必要があります。

あなたの質問2については、申し訳ありませんが私はよく理解していませんでした。最後の応答だけがあなたのファイルに記録されていると言いますか?ファイルの内容を消去するあなたのwriteコマンドが原因である可能性があります。代わりに、あなたが使用することができます:inputFileResponse.append("Your response text" + System.getProperty("line.separator"))

+0

1)def response = context.expand( '$ {Add-Request 1#Response#// * AddResult/text()}') inputFileResponse.append(response)、私は試しましたこのように、それは何もキャプチャしていません。 – shiv

+0

2)ありがとうございましたが、問題は1つありますが、テキストファイルから行単位でデータを読み込んでいるときに、** if(nextLine!= null)を使用して**、 **は最後のレスポンス**を書いていないので、最後のレスポンスもキャプチャするように書くべきです。 – shiv

関連する問題