2017-12-23 21 views
1

認証トークンを取得し、後続のすべてのテスト要求のヘッダーに含める要求を送信する必要があります。このトークンは毎回変更されますが、リクエストを送信し続ける限り、テストセッション全体に有効です。各フィーチャファイルでは、このトークンを取得するために別のフィーチャファイルを呼び出すことができます。しかし、私はすべてのフィーチャーファイルでこれをしたくありません。私は、テストの開始時にトークンを一度取得し、すべての機能ファイルに使用したいだけです。それ、どうやったら出来るの?私はGitHubの空手情報を読んだが、答えは見つからなかった。空手APIのすべてのフィーチャーファイルのグローバルヘッダーを設定する方法

答えて

0

デモの2番目の例は、すべての質問に答えます。karate-demo

EDIT1:申し訳ありませんが、あなたの質問があまりにも速かったです。 karate-config.jskarate.call()を使用すると、すべての機能ファイルに適用されます。私はこれをお勧めしません。なぜなら、あなたはいつもこれを必要としないいくつかの機能を持っているからです。フィーチャーの呼び出しを使用し、テストを過度にエンジニアリングしないでください。

EDIT2:私はもう少し考えました。もしあなたがJavaに慣れていれば、各フィーチャーの始めに(あるいはグローバルkarate-config.jsでも)シングルトンを呼び出すことができました。 authトークンのだから、あなたが必要とするものを正確に行うことができ、柔軟性があります。

EDIT3:この質問に基づいて - 私たちはkarate.callSingle()操作として空手にこの機能を追加し、ここでのドキュメントがあります:https://github.com/intuit/karate/tree/develop#the-karate-object

+0

ピーター、それは簡単ですので、私は最初の方法を試してみましたが、私のAPIは、すべての要求の認可が必要となります。しかし、私はそれを働かせることはできません。私のkarate-config.jsはこのように見えます。私を助けてください。 function(){ var env = karate.env; karate.log( 'karate.envシステムプロパティは:'、env); VAR資格= { \tログイン名: '管理者'、 \tパスワード: 'mypasswordを' } VARトークン= karate.call( 'GetTokenId.feature'、クレデンシャル); } エラー: WARN com.intuit.karate.ScriptContext - スタートアップの設定に失敗しました。 'karate-config.js' - 機能呼び出しに失敗しました。arg:[オブジェクトオブジェクト] – bhc

+0

@bhc申し訳ありませんが、私があなたが投稿したものから想像することはできません。私は最初に機能の開始時に通常の呼び出しで作業することをお勧めします。この高レベルに卒業してください。呼び出されたフィーチャーファイル名には 'classpath'接頭辞を使用してみてください。すべてのベスト:P –

+0

バージョンを0.2.7から0.6.2に更新したところ、うまくいきました。ご協力ありがとうございました。 – bhc

関連する問題