web-dev-qa-db-ja.com

Postmanテストで環境変数を読み取るにはどうすればよいですか?

Postmanのパッケージアプリバージョンを使用して、Rest APIに対するテストを記述しています。私は連続したテスト間の状態を管理しようとしています。これを容易にするために、Javascriptテストランタイムに公開されているPostmanオブジェクトには変数を設定するメソッドがありますが、読み取り用のメソッドはありません。

postman.setEnvironmentVariable("key", value );

これで、次の呼び出しで、現在の環境から値を取り込む{{key}}構造を介してこの値を読み取ることができます。しかし、これはテストでは機能しません。それは、リクエストを作成するものでのみ機能します。

だから、テストからこのようなものを読むためにそこにいますか?

63
chad

ドキュメントによると here 使用できます

environment["foo"] OR environment.foo
globals["bar"] OR globals.bar

それらにアクセスします。

すなわち;

postman.setEnvironmentVariable("foo", "bar");

tests["environment var foo = bar"] = environment.foo === "bar";

postman.setGlobalVariable("foobar", "1");

tests["global var foobar = true"] = globals.foobar == true;

postman.setGlobalVariable("bar", "0");

tests["global var bar = false"] = globals.bar == false;
88
gooddadmike

Postmanはサンドボックスを更新し、_pm.*_ APIを追加しました。 docs によると、テストスクリプト内の変数を読み取るための古い構文は引き続き機能しますが、

変数が設定されたら、pm.variables.get()メソッドを使用するか、適切なスコープに応じてpm.environment.get()またはpm.globals.get()メソッドを使用して変数をフェッチします。このメソッドでは、スクリプトに保存された値を取得するためのパラメーターとして変数名が必要です。

6
J.Lin