Postman Scriptスクリプト文法まとめ
Postmanの強みは、あるrequestにアクセスする前と後のそれぞれにカスタマイズされたJavascriptスクリプトを実行することによって、直接に完成させることです.
Postmanオフィシャル:Intro to scriptsを参照してください.
Script workflowスクリプト実行フロー Requirements実行スクリプト要求
なお、
Code Snippets常用語句
基本的には台本の作成欄の右側にいつもの語句がありますが、以下をクリックするとコードが出てきます.次の図のように
公式文書で説明されている各種関数の呼び出しはここにあります.Postman Sandbox
以下は自分でまとめた常用コードのセグメントです.
Postmanオフィシャル:Pre-request scriptsを参照してください.
常用の準備は以下の通りです.は環境変数を読み出し、request bodyまたはheadersに入れる. スティッチンググループは、authentication codeなどのrequest要求に必要なパラメータを提出する. よく使う語句は以下の通りです.
テストスクリプトはrequestの後、Resonseの戻り値に対して次の処理を行うスクリプトです.
Postmanオフィシャル:Test scripts Postmanオフィシャル:Test examplesを参照
よく使われる処理は以下の通りです.レスポンスデータを読み出し、環境変数 として保存する.レスポンスの状態によって成功するかどうかを判断し、次のステップは何をするかを判断します.
よく使う語句は以下の通りです.
上記の具体的な機能コード以外にも、よく結果を返す必要があります.このテスト結果はPassですか?それともFailですか?デフォルトはパスですか?
ここでの戻り値は単純なreturn文ではなく、Postmanが持参するオブジェクトまたは方法によってのみ可能であり、一般的に
完全なテストモデル:
常用操作は以下の通りです.
ここは公式にまとめられた常用テストシナリオの方法です.Test examples.
以下は私がまとめた常用テスト結果の内蔵関数です.
既に設定されているEviroment変数を見ると、右上の小さな目を開けて見られます.次の図のように環境変数を3つ設定しました.
デバッグ時にプリントするなら、普通は あなたのPostmanがChrome appであれば、chromeブラウザの開発者ツールで直接デバッグすればいいです. Macなどのデスクトップソフトであれば、内蔵のconsoneを開いてデバッグ情報を見ることができます. 位置は左下にあります.
Postman Sandbox
PostmanのSandboxはPostman内部でデフォルトで導入された第三者のJSライブラリです.
参考:Postman Sandbox公式脚本は、Postman Sandbox API公式参照のスクリプトライブラリを参照してください.
Sandboxで引用されているサードパーティライブラリがあります.
生成MD 5文字列:
Sandboxとは違って、Postman内部のより高級なSDKです.便利な方法をいくつか引用することができます.
公式サイトを参照:Tutorial:Postman SDK Concepts
URLはJSON形式に変換され、指定されたパラメータ値を取得する.
chain request
の効果は、いくつかのrequestを一つのプロセスに連結して一体化テストを行うことができます.これは多くのAPIの動作において極めて有用であるので、ここではいくつかの常用語句をまとめる必要がある.Postmanオフィシャル:Intro to scriptsを参照してください.
Script workflowスクリプト実行フロー
pre-request
スクリプトは、APIを要求する前のスクリプトであり、パラメータ、JSONパケット、リンクアドレスなどを動的に生成するために一般的に使用される.test
スクリプトは、実際にはpost-request
と呼ばれるべきであり、実際にAPIアクセスを完了し、そのレスポンスを得てから実行されるスクリプトは、一般的には、レスポンスのコンテンツを取得するために使用され、ページタイトルやコンテンツを取得するなど、他のリソースに対する要求を後にする他のリソースの.なお、
pre-request
スクリプトは、直接コードを書いても良いが、test
スクリプトは特定の関数pm.test(...)
で実行されてこそ識別され、test
スクリプトとして実行される必要がある.図のように、pm.test()
の最初のパラメータはテスト記述(テスト結果欄に表示されるので、他のテスト記述と区別するべき)であり、第二のパラメータは関数であり、具体的な実行コードはこの関数で実行される.また、pm
オブジェクトはPostmanの主要オブジェクトであり、すべての内蔵関数、データ呼び出しなどは、これによって実現される必要があります.Code Snippets常用語句
基本的には台本の作成欄の右側にいつもの語句がありますが、以下をクリックするとコードが出てきます.次の図のように
公式文書で説明されている各種関数の呼び出しはここにあります.Postman Sandbox
以下は自分でまとめた常用コードのセグメントです.
// response
var rsb = responseBody; //
//
var v = pm.environment.get(" ");
// ,
// JSON , JSON.stringify(..) , JSON.parse(..)
pm.environment.set(" ", );
//
pm.environment.unset(" ");
//
var gb = pm.globals.get(" ");
var nm = pm.variables.get(" ");
// Javascript
console.log( typeof pm.enviroment );
Pre-request Script前処理スクリプトPre-request script
は、requestの前にrequest情報を準備するためのスクリプトである.Postmanオフィシャル:Pre-request scriptsを参照してください.
常用の準備は以下の通りです.
//
var v = pm.environment.get(" ");
// ,
// JSON , JSON.stringify(..) , JSON.parse(..)
pm.environment.set(" ", );
Test Scriptテストスクリプトテストスクリプトはrequestの後、Resonseの戻り値に対して次の処理を行うスクリプトです.
Postmanオフィシャル:Test scripts Postmanオフィシャル:Test examplesを参照
よく使われる処理は以下の通りです.
よく使う語句は以下の通りです.
// response headers
ctype = postman.getResponseHeader("Content-Type");
// response body
text = pm.response.text();
// response JSON
json_data = pm.response.json();
// json , name :
myName = json_data.name;
Test Resultテスト結果上記の具体的な機能コード以外にも、よく結果を返す必要があります.このテスト結果はPassですか?それともFailですか?デフォルトはパスですか?
ここでの戻り値は単純なreturn文ではなく、Postmanが持参するオブジェクトまたは方法によってのみ可能であり、一般的に
pm.expect()
またはtests[]
の2つの場所を通じて試験結果を返します.完全なテストモデル:
// response 200 :
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
これらの方法名は分かりやすいように見えますが、一般的にはpm.expect()
または.to.be()
または.to.have()
と呼ばれます.字面では何を期待しているのか、あるいは何を要求しているのか、あるいは何が必要なのか、テストに合格することができます.また、同様の試験結果には、pm
オブジェクトを介さずに、tests
オブジェクトを内蔵するより簡単な書き方がある.常用操作は以下の通りです.
# 200
tests["Response time is less than 200ms"] = responseTime < 200;
#
tests["Status code name has string"] = responseCode.name.has("Created");
この使い方を見ると、推察tests
はJSON形式の対象で、tests[...]
括弧内の文字列はテストの記述であり、=
は判断文の後に、tests[..]
の値にTrueまたはFalseを与え、その後postmanはtests
オブジェクト内のパラメータを輪訓して、passの有無の結果に戻る.ここは公式にまとめられた常用テストシナリオの方法です.Test examples.
以下は私がまとめた常用テスト結果の内蔵関数です.
# “ ”
pm.expect( response ).to.include(" ");
# body
pm.response.to.have.body(" ");
# 200
pm.expect(pm.response.responseTime).to.be.below(200);
# "Created"
pm.response.to.have.status(" ");
デバッグゲージスクリプトデバッグ既に設定されているEviroment変数を見ると、右上の小さな目を開けて見られます.次の図のように環境変数を3つ設定しました.
デバッグ時にプリントするなら、普通は
console.log(...)
を使っています.そうすると、コンサートで見られます.Postman Sandbox
PostmanのSandboxはPostman内部でデフォルトで導入された第三者のJSライブラリです.
参考:Postman Sandbox公式脚本は、Postman Sandbox API公式参照のスクリプトライブラリを参照してください.
Sandboxで引用されているサードパーティライブラリがあります.
生成MD 5文字列:
var hashed = CryptoJS.MD5(" ");
ファイル転送base 64文字列:s = 'Hello';
// UTF-8
utf8 = CryptoJS.enc.Utf8.parse( s );
// CryptoJS (Postman )
b64 = CryptoJS.enc.Base64.stringify(utf8)
console.log(b64);
// aGVsbG8=
Postman SDKSandboxとは違って、Postman内部のより高級なSDKです.便利な方法をいくつか引用することができます.
公式サイトを参照:Tutorial:Postman SDK Concepts
URLはJSON形式に変換され、指定されたパラメータ値を取得する.
var sdk = require('postman-collection');
query = ( new sdk.Url(callback) ).toJSON().query;
for (var i in query) {
console.log(query[i].key +": "+ query[i].value);
}