私はちょうど前のステップ要求/応答を格納するための追加のGroovy Script
テストステップを避けるためにお勧めします。
以下のスクリプトでは、テストスイートレベルでユーザー定義のプロパティ(REQUEST_PATH
)がその値(データを格納する有効なファイルパス、パスはスラッシュ '/'で区切られています)で確認されています。
代わり
//Stores raw request to given location using utf-8 encoding
new File(context.testCase.testSuite.getPropertyValue('REQUEST_PATH') as String).write(context.rawRequest,'utf-8')
は実際context.request
とcontext.rawRequest
とrawRequest
を用いて上記のスクリプトとの間の小さな差がある(テストケース内の1つの以上のステップより少ない)Billing
要求ステップ自体にScript Assertion
を使用します。
context.request
- 実際の値ではなく、そのまま変数を持ちます。例えばのために
:context.rawRequest
として
<element>${java.util.UUID.randomUUID().toString()}</element>
- 要求で送信された実際の値を持つことになります。例えばのために
:コメントに基づいて
<element>4ee36185-9bfb-47d2-883e-65bf6d3d616b</element>
EDIT:OPからさらに意見に基づきACCESS DENIED
問題
def file = new File(context.testCase.testSuite.getPropertyValue('REQUEST_PATH') as String)
if (!file.canWrite()) {
file.writable = true
}
file.write(context.rawRequest,'utf-8')
EDIT2のためにこれを試してみてください、要求のファイル名があるべき現在のテストステップ名。
//Create filename by concatenating path from suite property and current test stepname
def filename = "${context.testCase.testSuite.getPropertyValue('REQUEST_PATH')}/${context.currentStep.name}.xml" as String
new File(filename).write(context.rawRequest,'utf-8')
出典
2016-10-19 17:52:28
Rao
DEF myOutFile = "D:/TestLog/Online_Test/PostPaidSuccess_Payment_BillInqReq.xml" DEF応答= context.expand( '$ {BillInq位要求}') DEF F =新しいファイル(myOutFile) F。 write(レスポンス、 "UTF-8") –
生のリクエストだけを設定した値で保存してもよろしいですか? – Rao