あなたが学ぶべきインタフェースは神器をデバッグします——Postmanの高級な使い方
17118 ワード
一括実行インタフェース
エントリーレベルの機能ですが、多くの人に無視されています.postmanの左側にcollectionsのtabがあり、インタフェースをグループ化することができ、グループ化後のインタフェースを一括実行することができ、素晴らしい機能です.もちろん、Runnerをクリックしてもいいです.
一括実行エントリ一括実行インタフェース環境、繰返し数、各インタフェースの遅延などを設定でき、一括実行の結果が表示されます.
これは非常に基礎的な機能で、この基礎があれば、ロットのテストと自動化のテストを実現することができます.
認証authorization
インタフェース認証はすべてのインタフェースがしなければならないことであり、postmanはよく使われるインタフェース認証メカニズムを可視化し、非常に簡単に使用することができます.auth 1にかかわらず、必要なベースのauth認証を追加します.0ですか、auth 2ですか.0はすべてとても良い支持を得ることができます.
もちろん、認証方式が完全にカスタマイズされている場合もありますが、authorization機能では認証方式が見つからない場合があります.例えば、多くのアイデンティティ認証はタイムスタンプ、パスワード、その他のパラメータを通じて一定のアルゴリズムルールに基づいて結果を算出する必要がありますが、私たちは使用できませんか?もちろんそうではありません.では、重点的に紹介する機能が必要です.postmanスクリプトですが、その前に、環境変数という非常に重要な概念を紹介します.
かんきょうへんすう
プログラマーにとって、環境変数という概念はよく理解されています.ここの環境変数はみんなが理解しているように、環境変数を設定した後、すべてのインタフェースでこの変数を使用することができます.そして、この変数はコードで修正することができます.環境変数の設定:
postman.setEnvironmentVariable("sign", mdmauth.toString());
上記の環境変数を使用して、図のようにパラメータに{{sign}}を使用します.
実行前のスクリプト
postmanインタフェースにはpre-request scriptというtabがありますが、ここからpostmanの最も重要な機能の一つであるスクリプト機能を紹介します.pre-request scriptは、リクエストの前に実行されるスクリプトです.実行前のスクリプト私の一般的な使い方は、環境変数を変更することです.実行前にしたことは、主に要求されたパラメータを処理することです.ここで簡単な例を挙げると、あるインタフェースのインタフェース認証規則は、主にヘッダ内のauthenticationによってアイデンティティの認証を行い、authenticationの値は鍵(key)、タイムスタンプ(timeStamp)、入力パラメータ(param)、key、timeStamp、paramからなる文字列md 5を生成した後に生成されるsignであり、最終的な結果は以下のようになる.
{"timeStamp": "2017-11-13 10:06:08",sign": "99f8d869d6a105afddd9d152c5894418"}
実はこれはとてもよく使われるシーンで、多くのインタフェースは現在のパラメータとタイムスタンプを組み合わせて処理して、インタフェースのパラメータの時効性を確保して、このようなシーンは直接パラメータあるいは環境変数を通じてきっと問題があって、時間は動態的で、プログラムを動かして処理するしかありません.私が処理する方法は大体:
スクリプトは必要な値を算出し、値を環境変数に設定する.
パラメータ設定valueは、現在の環境変数です.
実行テストスクリプトは次のとおりです.
var date=new Date();
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? ('0' + m) : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
var h = date.getHours();
h=h < 10 ? ('0' + h) : h;
var minute = date.getMinutes();
minute = minute < 10 ? ('0' + minute) : minute;
var second=date.getSeconds();
second=second < 10 ? ('0' + second) : second;
// , yyyy-mm-dd HH:mm:ss
var timespan=y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
var key='dfc96ds8-e5a0-45aa-a2ec-2611cds71d4e';
// request.data body , postman
var param=request.data;
console.log(key);
console.log(timespan);
console.log(param);
//CryptoJS,postman js
var sign=CryptoJS.MD5(key+timespan+param).toString();
console.log(sign);
var mdmauth="{\"timeStamp\": \""+timespan+"\",\"sysCode\": \"EUH\",\"sign\": \""+sign+"\"}";
console.log(mdmauth);
//
postman.setEnvironmentVariable("mdmauth", mdmauth.toString());
postmanのスクリプトはよく知られているjavascriptスクリプトであり、postmanには再利用されたjsライブラリが内蔵されており、ほとんどの使用シーンを満たすことができます.
Lodash、基礎的な関数ライブラリ、皆さんはを使ったことがあるはずです.
cheerio、別のjquery と理解できる
BackboneJS,jsのmvcフレームワークCryptoJS,js暗号化ライブラリは、ほとんどの一般的な暗号化方式をサポートしています.
使用中にリクエストの値を取得するか、リクエストの結果を取得する必要があります.postにはいくつかの内蔵変数が直接取得できます.
リクエストは、ヘッダおよびリクエストボディを含むリクエストのパラメータを取得する.
responseHeaders戻り値のheader responseBody戻り値のbody responseCode戻り値のhttp code このほか、グローバルダイナミック環境変数がいくつか組み込まれています.
{{$guid}:guid を生成
{$timestamp}:現在のタイムスタンプを取得
{$randomInt}:動的整数を取得
正直に言うと、postmanは周到すぎることを考えています.以上の神器があれば、自動化されたスクリプトを書くだけでなく、スクリプトを書くのも便利で、どんなタイプのインタフェースをテストすることができます.詳細については、以下を参照してください.https://www.getpostman.com/docs/postman/scripts/postman_sandboxああ、このページの内容はとても重要です.
スクリプトのテスト
前述したように、一括実行インタフェースについて説明しましたが、実行前のスクリプトに関する内容は、プログラミングをサポートできれば、インタフェースのテストが柔軟になり、カスタマイズしやすくなります.実は、通常のテストにはもう一つのシーンがあります.インタフェースのテストはすべて依存しています.例えば、インタフェースのテストはtokenインタフェースに依存してスクリプトを取得したり、ロットテストの時、後のインタフェースは前のインタフェースの戻り値が必要になったりします.postmanもサポートしているに違いありません.バッチ実行インタフェースはテストスクリプトと結合して、使用するのは簡単です.テストのコードはTestというtabで、ここでの結果はテストが完了した後に実行される内容です.pre-request scriptは実行前,testは実行後であり,閉ループを構成することができる.(完璧!!)サンプルコード:
var jsonData = JSON.parse(responseBody);
//tests
tests["http code"] = responseCode.code === 200;
tests[" "] = jsonData.Result===true;
postman.setEnvironmentVariable("authtoken",CryptoJS.MD5(request.headers["UserName"]+jsonData.Data.FranchiseeCode));
//
postman.setNextRequest(" ");
関数がありますsetNextRequestは次のインタフェースを呼び出します.この2つは、インタフェースが実行する順序を決めることができます.これがプロセステストです.
デバッグ
プログラミングに関わる以上、デバッグにも関わるに違いありません.postmanのデバッグのサポートも非常によく、簡単な設定でchromeと組み合わせてデバッグすることができます.まず、chromeのデバッグを開きます.chromeアドレスバーに次のように入力します.chrome://flags/#debug-packed-apps、Debugging for packed appをオンにします.(設定欄が多く、検索を推奨)
次に、入力chrome://inspect/#appsああ、postmanのinspectを選択すると、おなじみのpostmanのデバッグボックスがポップアップされます.
私たちはpostmanの中のconsole.logやブレークポイントはデバッグ可能で、chromeデバッグwebと同じです.
まとめ
以上はpostmanの使用について一部紹介しただけで、少し高級な機能ですが、実際にはpostmanにはドキュメントのエクスポート、純粋なスクリプトテストなどの良い機能がたくさんあります.これらの機能が役に立つなら、公式サイトのdocをよく読むことをお勧めします.postmanは決して簡単なテストインタフェースのツールではなく、開発者のテストシーンを完全にカバーするインタフェースデバッグツールです.
(完)