最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Postman 使用指南及小技巧

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

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

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

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

二、使用變量

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

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

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

2.1 變量作用域適用于 Postman 中不同的場景

Global:全局變量可以在整個工作空間(Workspace)中使用,因為無法控制使用環(huán)境和容易造成混淆,應當是不可變的全局常量,謹慎使用。

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

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

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

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

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

Data: 數(shù)據(jù)變量來自外部 CSV 和 JSON 文件,當通過 Newman 或 Runner 來運行時才用到。

Local:局部變量只在單個請求生命周期中可用,運行完成后自動銷毀。

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

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

2.3 編輯集合變量

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

Postman 內(nèi)置了很多常見場景的動態(tài)變量。

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

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

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

三、Postman 請求生命周期

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

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

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

3.2 發(fā)送請求(request)

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

小技巧二:Cookie 可編輯

3.3 接收一個響應(response)

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

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

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

Postman 支持在請求響應后通過測試腳本來驗證請求是否符合預期。

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

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

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

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

四、使用 Postman 抓包

在 Postman 應用程序中有一個內(nèi)置代理來捕獲 HTTP 請求。

  • Postman 應用程序監(jiān)聽客戶端應用程序或設備發(fā)出的任何調(diào)用。
  • Postman 代理捕獲請求并將請求轉(zhuǎn)發(fā)給服務器。
  • 服務器通過 Postman 代理將響應返回給客戶端。

4.1 開啟抓包

本機 IP 地址:

手機設置:

4.2 抓包效果

五、使用代理

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

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

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

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

六、使用 Collection Runner

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

七、命令行腳手架 Newman

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

# 安裝
npm install -g newman

# 運行文件
newman run mycollection.json

# 運行 URL
newman run https://www.postman.com/collections/cb208e7e64056f5294e5 -e dev_environment.json

八、付費功能

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

版權(quán)聲明

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

GitHub:mazeyqian
Blog:blog.mazey.net

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

相關文章

  • 微信 小程序開發(fā)環(huán)境搭建詳細介紹

    微信 小程序開發(fā)環(huán)境搭建詳細介紹

    這篇文章主要介紹了微信 小程序開發(fā)環(huán)境搭建詳細介紹的相關資料,需要的朋友可以參考下
    2016-09-09
  • git如何還原到某次commit并強制推送遠程

    git如何還原到某次commit并強制推送遠程

    這篇文章主要介紹了git如何還原到某次commit并強制推送遠程的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Git配置.gitignore文件忽略被指定的文件上傳

    Git配置.gitignore文件忽略被指定的文件上傳

    這篇文章介紹了Git配置.gitignore文件忽略被指定文件上傳的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • git rebase -i合并多次提交的實現(xiàn)

    git rebase -i合并多次提交的實現(xiàn)

    這篇文章主要介紹了git rebase -i合并多次提交的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 詳解如何將本地項目上傳到Github的方法步驟(圖文)

    詳解如何將本地項目上傳到Github的方法步驟(圖文)

    這篇文章主要介紹了詳解如何將本地項目上傳到Github的方法步驟(圖文),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • postman接口做關聯(lián)測試的方法步驟

    postman接口做關聯(lián)測試的方法步驟

    本文主要介紹了postman接口做關聯(lián)測試的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • UTF-8 GBK UTF8 GB2312 之間的區(qū)別和關系介紹

    UTF-8 GBK UTF8 GB2312 之間的區(qū)別和關系介紹

    UTF-8:Unicode TransformationFormat-8bit,允許含BOM,但通常不含BOM。是用以解決國際上字符的一種多字節(jié)編碼,它對英文使用8位(即一個字節(jié)),中文使用24為(三個字節(jié))來編碼
    2011-12-12
  • Git實現(xiàn)克隆歷史的某個版本

    Git實現(xiàn)克隆歷史的某個版本

    這篇文章主要介紹了Git實現(xiàn)克隆歷史的某個版本,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 詳解git的基本使用方法

    詳解git的基本使用方法

    這篇文章主要介紹了詳解git的基本使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Git 教程之安裝配置詳解

    Git 教程之安裝配置詳解

    本文主要介紹Git 安裝配置,這里對Linux,Windows,Mac平臺的安裝做了詳細介紹,有需要的朋友可以參考下
    2016-09-09

最新評論

肥西县| 班戈县| 桂林市| 九龙县| 石林| 诏安县| 衡南县| 玉溪市| 林芝县| 喀喇| 竹溪县| 大关县| 新密市| 乌鲁木齐县| 剑阁县| 青神县| 平舆县| 开平市| 蕉岭县| 铜陵市| 额尔古纳市| 赤水市| 安义县| 三都| 鹿邑县| 平舆县| 灌云县| 焉耆| 衡山县| 教育| 云林县| 东山县| 银川市| 安化县| 石家庄市| 千阳县| 石首市| 桑日县| 丰台区| 正阳县| 拜城县|