あなたが学ぶべきインタフェースは神器をデバッグします——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は決して簡単なテストインタフェースのツールではなく、開発者のテストシーンを完全にカバーするインタフェースデバッグツールです.
(完)