Postman の共通アサーション関数の分析

1. ポストマン アサーション モジュール

2. 7 つの日常的なビジネス アサーション

最初の 4 つは最も一般的に使用されます。

1) ステータス コード: コードは 200 返されたステータス コードが 200 であるかどうかを確認します。

2) レスポンスボディ:Contains string レスポンスに指定した文字列が含まれていることを確認します

3) レスポンスボディ:Json 値のチェック レスポンス内の json の値を確認します。

4) 応答本文: 文字列と等しい 応答が文字列と等しいことを確認します

5) レスポンスヘッダ:Content-Type... レスポンスヘッダContent-Typeが含まれているか確認します。

6) 応答時間は 200 ミリ秒未満: チェック要求にかかる時間は 200 ミリ秒未満です

7) ステータス コード: POST リクエスト成功: POST リクエストのステータス コードが 201 と 202 のいずれかであるかどうかを判断します。

3. グローバル アサーション: 一般にステート アサーション

4. 従来のビジネス上の主張

3.1. ステータス コード:コードが 200 返されたステータス コードが 200 であるかどうかを確認します。

//状态码业务断言 == 全局断言,一个地方处理即可

pm.test("检查返回状态码为200", function () {
    pm.response.to.have.status(200);
});

3.1.概要:

ステータス コードが 200 に等しくない場合、アサーションはエラーを報告します。それ以外の場合、== 200 の場合、アサーションは合格します。

3.2. レスポンスボディ:Contains string レスポンスに指定した文字列が含まれていることを確認する

//Postman源码
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});

 

3.3. レスポンスボディ:Json 値のチェック レスポンス内の json の値を確認します。

//Postman源码
pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});

ここで、pm.test は postman のテスト モジュールを意味します

pm.test(“アサート名”, 関数()'{*****}')

これは固定形式として理解でき、{****} がアサーションの主な内容です。

{ var jsonData = pm.response.json();---------①
pm.expect(jsonData.code).to.eql(100);}----------- - ②

①主にレスポンスをjson形式に変換します、まずレスポンスをjson形式に変換します。
②jsonData.codeという値を取得してレスポンス結果のキーkeyの値をコードとして取得し、同等値
pm.expectの100と比較します。 (jsonData.code ).to.epl(100) 

3.4. レスポンスボディ: 文字列と等しい レスポンスが文字列と等しいことを確認します

//Postman源码
pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string");
});

3.4. 概要

このうち、response_body_string は、レスポンスボディの内容全体に相当します。このアサーション方法は、レスポンスボディの内容が比較的大きい場合には推奨されません。アサーションが成功するのは、レスポンスボディがレスポンスボディとまったく同じである場合のみであることに注意してください。期待される。

3.5. レスポンスヘッダー: Content-Type... レスポンスヘッダー Content-Type が含まれているか確認します

//Postman源码
pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
});

3.5. 概要

このアイデアに従って、アサーション スクリプトの Content-Type を Date に置き換えます。これは、Date のキー値が応答ヘッダーに存在するかどうかをアサートします (json は Key-Value キーと値のペアの形式で保存されます)。

3.6. 応答時間が 200 ミリ秒未満: リクエストにかかる時間が 200 ミリ秒未満であることを確認します。

//Postman源码
pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

3.6. 概要

このうち、「応答時間は 200ms 未満」はこのアサーションに付ける名前で、図に示すように、インターフェイス テストの実行時にテスト結果に表示されるようにカスタマイズできます。

3.7. ステータス コード: POST リクエスト成功: POST リクエストのステータス コードが 201 と 202 のいずれかであるかどうかを判断します。

//Postman源码
pm.test("Successful POST request", function () {
    pm.expect(pm.response.code).to.be.oneOf([201, 202]);
});

3.7. 概要

成功したリクエストのステータス コード。リクエストのステータス コードが 201 から 202 の間かどうかを判断します。

post リクエストに応答コード 201、202、または 200 がある場合、それは成功を意味しますが、具体的な意味は異なります。これは、応答コードが 200 であるかどうかをアサートするのと似ています。.be.oneOf([list])、応答コードがこのリストにあるかどうかを確認します。追加の範囲があります

ステータス コード: 200 (リクエストの成功の意味は、POST などの HTTP メソッドによって異なります。アクションの結果を記述するリソースがメッセージ本文で送信されます) ステータス コード: 201 (リクエストが成功したため、作成されまし
)新しいリソース。通常は POST または特定の PUT リクエストのソースです。)
ステータス コード: 202 (リクエストは処理のために受け入れられましたが、処理はまだ完了していません。最終的に処理される場合とされない場合があります。) 

5、カスタム動的パラメータ(グローバル変数)アサーション方法:正確なアサーション

参照文書:

Postman の組み込み動的パラメーターとカスタム動的パラメーターおよびアサーション メソッド - プログラマーが求めたもの

pm.globals.get("time")

globals["time"]

globals.time

備考:上記のアサーションで連結された+pm.globals.get("time") は、 globals ["time"] または globals.timeに直接置き換えることができます。

Postman では、アサーションも比較的重要な部分です。テストしているインターフェイスが期待や要件を満たしているかどうかを正確に判断する方法に関係するからです。システムに付属する部分に加えて、アサーション スクリプト言語には他にも多くの機能があります。柔軟に書ける選択肢があり、継続的な学習でまとめ続けていきます。

おすすめ

転載: blog.csdn.net/weixin_37600187/article/details/128103282