2017-04-11 4 views
0

CI環境でPostmanテストを実行したいです。ここで、エンドポイントへの呼び出しを行う前に、oauthエンドポイントの1つを呼び出してアクセストークンを確保する必要があります。郵便配達員には、2年前のticketがあり、前払いでsetNextRequest(これは郵便配達員4.5から明らかにサポートされています)を使用するためのアップノートと提案があります。このように、私は私の前の要求部に次のように持っていた:それは動作しませんでした郵便配達要求チェーン

var responseBody = postman.setNextRequest("/oauth/token"); 

、それも(郵便配達コンソールに表示されませんでした)と呼ばれたことがない「/ OAuthの/トークン」らしいです私は最初の人がこのシナリオに対して頭を悩ませていないと確信しています。だから私の質問 - コレクションからアイテムを呼び出す方法がありますか(私にアクセストークンを与えるもの)?つまり、私は、上記のアクセストークンを必要とするすべてのテストの前に、同じoauth要求を複製することは望ましくありません。

答えて

1

私は、あなたがプレリクエストセクションでresponseBodyを使用しているのを見ることができました。あなたは次の要求にそれを設定しようとしていますが。 responseBodyは利用できません。 responseBodyTestsセクションでのみ利用可能です(明らかに要求が既に実行されているためです)。あなたのシナリオについて

、なぜあなたは従わない:

  1. は、Getアクセストークンを最初に呼び出し
  2. としてあなたの認証要求を実行し
  3. 使用変数の環境で
  4. 店もあなたがそれを必要とする後続の要求のトークン。

これにより、実行時にすべてのリクエストにアクセストークンが生成されます。

+0

はい、これが私のデフォルト戦略です。私は多分それを行うためのよりエレガントな方法があるかもしれませんが、何とか別のコレクションからのリクエストを実行すると、テストの構造化の柔軟性が増します。 – user2187935

+0

現在、 'postman.setNextRequest'メソッドは、同じコレクション内のリクエストだけを探します。 –

1

postman.setNextRequest()は、現在の要求の後に必要な要求を実行するためのものです。これはあなたの問題を解決しません。これは、環境変数に postman.setEnvironmentVariable()関数を使用して格納し、必要な場所で呼び出すことをお勧めします。

+0

はい、これも私の直感でした。しかし、なぜ郵便配達員は、事前要求に対してsetNextRequestがサポートされていると言いますか?ここでユースケースは何ですか? – user2187935

関連する問題