2017-09-07 7 views
1

"複雑な"レスポンスヘッダーから解析されたフィールドを抽出し、その値をテストの後半で使用する必要があります。空手フレームワークにカスタムステップ定義を追加する

空手の "header"キーワードは、応答ヘッダーの解析ではなく、リクエストヘッダーの設定用に設定されているようです。

シナリオ変数ストアへのアクセスを維持するカスタムステップ定義を追加する方法はありますか?可変ストアはStepDefsクラスではプライベートであり、簡単に拡張する方法はないようです。

答えて

1

応答ヘッダーにアクセスできます。 responseHeadersのドキュメントをご覧ください。

つまり、match headerショートカットがあなたが探している可能性が高いです。

空手の哲学は、カスタムステップ定義を書く必要がないということです。

編集:いくつかの例では、ちょうどLocationヘッダーの一部の文字列操作を行う必要がありますか?あなたは自由にJSコードを空手の表現に混ぜることができます。

* def location = responseHeaders['Location'][0] 
# assume location = 'foo?bar=baz' 
* def bar = location.substring(location.indexOf('bar=') + 4) 
+1

クール...ヘッダーの一部をキャプチャする方法はありますか?この場合、将来のステップで使用する必要があるクエリパラメータを持つ場所ヘッダーを取得する必要があります(リダイレクトの一部ではありません)。 – PaulProgrammer

+0

はい。私の答えを編集しました。 –

関連する問題