欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Postman 使用指南及小技巧

 更新時(shí)間:2021年12月06日 14:19:03   作者:Mazey  
Postman 簡(jiǎn)化了構(gòu)建 API 的每個(gè)步驟,并簡(jiǎn)化了協(xié)作,這樣就可以更快地創(chuàng)建 API。接下來(lái)通過(guò)本文給大家介紹Postman 使用指南及小技巧,感興趣的朋友跟隨小編一起看看吧

一、什么是 Postman(前世今生)

Postman 誕生于 2013 年,一開(kāi)始只是 Abhinav Asthana 著手于解決 API 測(cè)試的工具,隨著這個(gè)工具的使用者和需求迅速激增,Abhinav Asthana 找了他的兩個(gè)前同事 Ankit SobtiAbhijit Kane 一起創(chuàng)建了公司 Postman Inc。

如今 Postman 已經(jīng)成為一個(gè) API 開(kāi)發(fā)的協(xié)作平臺(tái)。Postman 簡(jiǎn)化了構(gòu)建 API 的每個(gè)步驟,并簡(jiǎn)化了協(xié)作,這樣就可以更快地創(chuàng)建 API。

二、使用變量

Postman 允許用戶(hù)在發(fā)送和接收時(shí)使用變量,以提高工作效率和可讀性(不過(guò)只能保存字符串類(lèi)型的值,所以復(fù)雜數(shù)據(jù)類(lèi)型需要借助于 JSON.stringify()JSON.parse() 來(lái)管理)。

例如在不同運(yùn)行環(huán)境中設(shè)置域名地址為變量:

Postman 支持在不同的作用域和上下文中使用變量,遵循就近原則,即如果在 GlobalEnvironment 中都有變量 name,則會(huì)取 Environment 中的 name

2.1 變量作用域適用于 Postman 中不同的場(chǎng)景

Global:全局變量可以在整個(gè)工作空間(Workspace)中使用,因?yàn)闊o(wú)法控制使用環(huán)境和容易造成混淆,應(yīng)當(dāng)是不可變的全局常量,謹(jǐn)慎使用。

pm.globals.set("variable_key", "variable_value");
pm.globals.get("variable_key");

Collection:集合變量在單個(gè)集合(Collection)中可用,往往具備通用的業(yè)務(wù)綁定屬性,例如:商品屬性、會(huì)員等級(jí)、通用秘鑰等。

pm.collectionVariables.set("variable_key", "variable_value");
pm.collectionVariables.get("variable_key");

Environment:環(huán)境變量允許請(qǐng)求適應(yīng)不同的環(huán)境,例如:本地、測(cè)試、預(yù)演和生產(chǎn)環(huán)境,常常用來(lái)區(qū)別請(qǐng)求地址。

pm.environment.set("variable_key", "variable_value");
pm.environment.get("variable_key");

Data: 數(shù)據(jù)變量來(lái)自外部 CSV 和 JSON 文件,當(dāng)通過(guò) Newman 或 Runner 來(lái)運(yùn)行時(shí)才用到。

Local:局部變量只在單個(gè)請(qǐng)求生命周期中可用,運(yùn)行完成后自動(dòng)銷(xiāo)毀。

pm.variables.set("variable_key", "variable_value");
pm.variables.get("variable_key");

2.2 編輯全局和環(huán)境變量

2.3 編輯集合變量

2.4 使用系統(tǒng)內(nèi)置動(dòng)態(tài)變量

Postman 內(nèi)置了很多常見(jiàn)場(chǎng)景的動(dòng)態(tài)變量。

備注:Postman 支持在 Pre-request Script 和 Tests 中打印調(diào)試信息,和瀏覽器控制臺(tái)一致,可以使用命令:console.log()console.info()、console.warn()console.error()。

console.log('當(dāng)前時(shí)間戳:', pm.variables.replaceIn('{{$timestamp}}'));
console.log('隨機(jī)顏色:', pm.variables.replaceIn('{{$randomColor}}'));
console.log('隨機(jī) IP:', pm.variables.replaceIn('{{$randomIP}}'));
console.log('隨機(jī)名字:', pm.variables.replaceIn('{{$randomFullName}}'));
console.log('隨機(jī)職業(yè):', pm.variables.replaceIn('{{$randomJobType}}'));
console.log('隨機(jī)城市:', pm.variables.replaceIn('{{$randomCity}}'));
console.log('隨機(jī)圖片:', pm.variables.replaceIn('{{$randomImageUrl}}'));

# 輸出
當(dāng)前時(shí)間戳:1609060090
隨機(jī)顏色:azure
隨機(jī) IP:163.140.207.64
隨機(jī)名字:Chester Funk
隨機(jī)職業(yè):Coordinator
隨機(jī)城市:Port Devinborough
隨機(jī)圖片:http://placeimg.com/640/480

三、Postman 請(qǐng)求生命周期

在 Postman 中,一個(gè)完整的 Postman 請(qǐng)求生命周期,除了常規(guī)的請(qǐng)求(request)和響應(yīng)(response),還包括前置請(qǐng)求腳本(pre-request script)和后置測(cè)試腳本(tests script)。Postman 包含一個(gè)基于 Node.js 的強(qiáng)大運(yùn)行態(tài)(runtime),允許用戶(hù)在 pre-request script 和 tests 事件中編寫(xiě) JavaScript 代碼。

3.1 在前置請(qǐng)求(pre-request script)中使用腳本

前置請(qǐng)求腳本(pre-request script)顧名思義就是在請(qǐng)求發(fā)送之前執(zhí)行的腳本。

3.2 發(fā)送請(qǐng)求(request)

小技巧一:在鏈接中使用 :id 自定義路徑參數(shù)

小技巧二:Cookie 可編輯

3.3 接收一個(gè)響應(yīng)(response)

小技巧:保存響應(yīng)結(jié)果

保存后的結(jié)果可以作為案例或記錄以便開(kāi)發(fā)使用。

3.4 在測(cè)試(tests)中使用腳本

Postman 支持在請(qǐng)求響應(yīng)后通過(guò)測(cè)試腳本來(lái)驗(yàn)證請(qǐng)求是否符合預(yù)期。

示例一:驗(yàn)證響應(yīng)狀態(tài)碼是否是 200

pm.test("Status test", function () {
    pm.response.to.have.status(200);
});

示例二:驗(yàn)證返回的業(yè)務(wù)數(shù)據(jù)(JSON)是否符合預(yù)期

pm.test("請(qǐng)求成功!", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql('success');
});

四、使用 Postman 抓包

在 Postman 應(yīng)用程序中有一個(gè)內(nèi)置代理來(lái)捕獲 HTTP 請(qǐng)求。

  • Postman 應(yīng)用程序監(jiān)聽(tīng)客戶(hù)端應(yīng)用程序或設(shè)備發(fā)出的任何調(diào)用。
  • Postman 代理捕獲請(qǐng)求并將請(qǐng)求轉(zhuǎn)發(fā)給服務(wù)器。
  • 服務(wù)器通過(guò) Postman 代理將響應(yīng)返回給客戶(hù)端。

4.1 開(kāi)啟抓包

本機(jī) IP 地址:

手機(jī)設(shè)置:

4.2 抓包效果

五、使用代理

代理服務(wù)器是一個(gè)應(yīng)用程序或系統(tǒng),作為計(jì)算機(jī)和互聯(lián)網(wǎng)之間的中介,或者更具體地說(shuō)就是代表著客戶(hù)端和服務(wù)器,向網(wǎng)站、服務(wù)器和其他互聯(lián)網(wǎng)服務(wù)發(fā)出請(qǐng)求。

除了傳遞信息,代理可以做更多的事情:

記錄你的機(jī)器和互聯(lián)網(wǎng)之間的所有流量。顯示所有請(qǐng)求、響應(yīng)、Cookie 和標(biāo)題的內(nèi)容。路由流量到指定的因特網(wǎng)位置。調(diào)試接口。防止直接攻擊,保證安全性。DevOps 負(fù)載平衡。

默認(rèn)情況下,Postman 將使用自帶的系統(tǒng)代理,如果自定義了代理,優(yōu)先級(jí)將高于自帶的系統(tǒng)代理。

六、使用 Collection Runner

集合運(yùn)行器(Collection Runner)允許以指定順序運(yùn)行集合里面的請(qǐng)求。Collection Runner 將記錄請(qǐng)求測(cè)試結(jié)果,并且腳本可以在請(qǐng)求之間傳遞數(shù)據(jù)。

七、命令行腳手架 Newman

Postman 提供腳手架工具 Newman 來(lái)以命令行的方式來(lái)運(yùn)行集合(Collection)請(qǐng)求,其提供和 Postman 桌面端一致的功能,可以集成在工作流的 CI/CD 中。

# 安裝
npm install -g newman

# 運(yùn)行文件
newman run mycollection.json

# 運(yùn)行 URL
newman run https://www.postman.com/collections/cb208e7e64056f5294e5 -e dev_environment.json

八、付費(fèi)功能

另外 Postman 提供了很多團(tuán)隊(duì)協(xié)作需要的付費(fèi)功能,例如:文檔、監(jiān)控、健康檢查等。

版權(quán)聲明

本博客所有的原創(chuàng)文章,作者皆保留版權(quán)。轉(zhuǎn)載必須包含本聲明,保持本文完整,并以超鏈接形式注明作者后除和本文原始地址:https://blog.mazey.net/1878.html

GitHub:mazeyqian
Blog:blog.mazey.net

到此這篇關(guān)于Postman 使用指南及小技巧的文章就介紹到這了,更多相關(guān)Postman 使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • php和js編程中的延遲執(zhí)行效果的代碼

    php和js編程中的延遲執(zhí)行效果的代碼

    主要是看了php的延遲,js的延遲,當(dāng)然bat也有
    2008-08-08
  • 網(wǎng)絡(luò)抓包工具wireshark入門(mén)教程詳解

    網(wǎng)絡(luò)抓包工具wireshark入門(mén)教程詳解

    Wireshark是一個(gè)網(wǎng)絡(luò)數(shù)據(jù)包分析軟件,功能非常強(qiáng)大,奈何他是英文版的,今天就為大家詳細(xì)介紹一下網(wǎng)絡(luò)抓包工具wireshark的使用教程
    2018-10-10
  • 搭建websocket消息推送服務(wù),必須要考慮的幾個(gè)問(wèn)題

    搭建websocket消息推送服務(wù),必須要考慮的幾個(gè)問(wèn)題

    面對(duì)各種新場(chǎng)景對(duì)websocket功能和性能越來(lái)越高的需求,不同的團(tuán)隊(duì)有不同的選擇,下面給大家分享構(gòu)建websocket服務(wù)時(shí)必須要考慮的一些技術(shù)特性以及能顯著提高用戶(hù)體驗(yàn)的功能,感興趣的朋友跟隨小編一起看看吧
    2020-04-04
  • .gitignore文件作用及使用方法詳解

    .gitignore文件作用及使用方法詳解

    這篇文章主要為大家介紹了.gitignore文件作用及使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 解決SecureCRT通過(guò)SSH連接Ubuntu時(shí)vi命令有多余的m的問(wèn)題

    解決SecureCRT通過(guò)SSH連接Ubuntu時(shí)vi命令有多余的m的問(wèn)題

    小編遇到這樣一個(gè)問(wèn)題用vi命令來(lái)編輯文件的時(shí)候,在開(kāi)頭和結(jié)尾有多余的字母出現(xiàn):在開(kāi)頭會(huì)有多余的“m”出現(xiàn),結(jié)尾有多余的“2m”,這篇文章主要介紹了解決SecureCRT通過(guò)SSH連接Ubuntu時(shí)vi命令有多余的m的問(wèn)題,需要的朋友可以參考下
    2022-09-09
  • IDEA怎么切換Git分支的實(shí)現(xiàn)方法

    IDEA怎么切換Git分支的實(shí)現(xiàn)方法

    這篇文章主要介紹了IDEA怎么切換Git分支的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • wireshark網(wǎng)絡(luò)抓包工具的使用教程

    wireshark網(wǎng)絡(luò)抓包工具的使用教程

    WireShark是非常流行的網(wǎng)絡(luò)抓包分析工具,可以截取各種網(wǎng)絡(luò)數(shù)據(jù)包,并顯示數(shù)據(jù)包詳細(xì)信息,下面就跟隨小編一起學(xué)習(xí)一下wireshark的具體使用吧
    2023-08-08
  • Sublime?Text?4怎么安裝使用

    Sublime?Text?4怎么安裝使用

    這篇文章主要介紹了Sublime?Text?4怎么安裝使用,下載對(duì)應(yīng)的安裝包,將該exe文件復(fù)制到對(duì)應(yīng)的sublime?text的安裝目錄下(與sublime_text.exe同級(jí)),右鍵管理員運(yùn)行即可,需要的朋友跟隨小編一起看看吧
    2022-01-01
  • git 配置多個(gè)SSH-Key實(shí)現(xiàn)示例

    git 配置多個(gè)SSH-Key實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了git 配置多個(gè)SSH-Key實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • vscode檢測(cè)到#include錯(cuò)誤請(qǐng)更新includePath的解決方法

    vscode檢測(cè)到#include錯(cuò)誤請(qǐng)更新includePath的解決方法

    這篇文章主要介紹了vscode檢測(cè)到#include錯(cuò)誤請(qǐng)更新includePath的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論