肝仕上げ、ポストマンインターフェイステスト~パラメータ関連付け実戦(詳細手順)


序文

インターフェイス テストでパラメーターの関連付けが必要になるのはどのような場合ですか?

前のインターフェイスから返されたデータを次のインターフェイスのパラメーターまたはリクエスト ヘッダーとして使用する必要がある場合、パラメーターの関連付けが必要です。つまり、相互に依存するインターフェイスにはパラメーターの関連付けが必要です。

パラメータの関連付けには 2 つの方法があります

1. 2 つのインターフェイスを作成し、前のインターフェイスの Test で返されたデータを取得してグローバル変数または環境変数として保存し、次のインターフェイスを入力パラメーターとして参照します。このとき、2 つのインターフェイスは関連しているため、 , したがって、相互にデータをやり取りするには、2 つのインターフェイスを順番に実行する必要があります。

2. インターフェースを作成し、現在のリクエストを送信する前にリクエスト前スクリプトで依存リクエストを送信し、インターフェースの戻り値を取得してグローバル変数または環境変数として保存し、インターフェースが必要とする場所 (ヘッダーなど) でそれを参照します。

例: 多くのシステムでは、他の操作を実行する前に正常にログインする必要があるため、ログイン インターフェイスは次のインターフェイスのパラメーターとしてトークンを返す必要があります。次の図は、パケット キャプチャから取得したクエリ インターフェイス情報です。

C1

上記の情報から、このインターフェイスが正常に送信するにはトークン値が必要であることがわかりました。そのため、最初にログイン用のトークン値を取得する必要があります。

ログイン インターフェイスから返される本文メッセージは次のとおりであり、json 形式です。

{
    
    
    "code": 0,
    "msg": "success",
    "data": {
    
    
        "token": "53a43036d5d6f132c86720a735bf106a",
        "expire": 27141
    }
}

方法1

ログイン インターフェイスの [テスト] に次のコードを入力します。

var responseData = JSON.parse(responseBody);//把responseBody的内容转化成json格式存储在responseData 里面
token=responseData.data.token//获取token的值
pm.environment.set("Token",token) //将token设置为环境变量Token

C2

次に、クエリ インターフェイスなど、トークンを使用する必要があるインターフェイスで、 対応する値を {{Token}} に置き換えるだけです。

C3

方法2

現在のクエリ インターフェイスの事前リクエスト スクリプトでログイン インターフェイスを送信し、インターフェイスの返されたトークン値を取得して、環境変数として保存します。

//定义post的参数
var paramdata = {
    
    
"_t":"1619059684163",
"password":"****",
"platformType":"1",
"systemCode":"dcp-adm",
"username":"***"
}
//const定义一个post请求常量
const loginRequest =
 {
    
    
    url: 'http://127.0.0.1:14444/user/login',  
    method: 'POST',
    header: 
    {
    
    'Content-Type':'application/json;charset=utf-8',
     'Accept': 'application/json;charset=utf-8'
    },
    body: //请求体信息,请求body中携带的参数
    {
    
    
        mode: 'raw',
        raw: JSON.stringify(paramdata) 
    }
};
//发送登录请求
pm.sendRequest(loginRequest, function (err, res)
{
    
    
    if (res.json().data.token) {
    
    
    tests["Body has token"] = true;
//把得到的结果,设置环境变量token
    pm.environment.set("tokenValue",res.json().data.token);
}
else {
    
    
tests["Body has token"] = false;
}}
);

C4

次に、図に示すように、トークン値を変更する必要がある箇所を tokenValue に置き換えます。

C5

以下は、私がまとめた 2023 年の最も完全なソフトウェア テスト エンジニア学習知識アーキテクチャ システム図です。

1. Pythonプログラミングの入門から習得まで

画像の説明を追加してください

2.インターフェース自動化プロジェクトの実戦

画像の説明を追加してください

3. Web自動化プロジェクトの実戦

画像の説明を追加してください

4. アプリ自動化プロジェクトの実戦

画像の説明を追加してください

5. 一流メーカーの再開

画像の説明を追加してください

6. DevOps システムのテストと開発

画像の説明を追加してください

7. 一般的に使用される自動テストツール

画像の説明を追加してください

8、JMeterのパフォーマンステスト

画像の説明を追加してください

9. まとめ(最後にちょっとしたサプライズ)

心に火を灯せ、闘いは夢にとどまらない。困難は一時的な障害に過ぎません。勇敢に困難に立ち向かい、信仰の旗を掲げ、勇敢に前進すれば、最終的には自分自身の栄光と成功を手に入れることができます。

歩き続けて、勇敢に進んで、闘いは夢を追うメロディー。どんなに困難や課題に直面しても、たゆまぬ努力が必ず成功への扉を開きます。自分を信じて、自分を超えて、人生の輝かしい一章を咲かせましょう!

信念を胸に勇敢に前進し、空に輝く星のように奮闘してください。逆境の中でもタフな魂を鍛え、夢を追い続けることをやめない。自分の力を信じ、情熱を燃やせば、やがて輝く人生は自分で切り開く!

おすすめ

転載: blog.csdn.net/x2waiwai/article/details/132083550