溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Postman怎么用

發(fā)布時(shí)間:2021-12-06 16:07:09 來源:億速云 閱讀:154 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹Postman怎么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

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

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

      Postman怎么用

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

      Postman怎么用

      二、使用變量

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

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

      Postman怎么用

      Postman怎么用

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

      Postman怎么用

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

      Global:全局變量可以在整個(gè)工作空間(Workspace)中使用,因?yàn)闊o法控制使用環(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)境,常常用來區(qū)別請(qǐng)求地址。

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

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

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

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

      Postman怎么用

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

      Postman怎么用

      2.3 編輯集合變量

      Postman怎么用

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

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

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

      Postman怎么用

      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),允許用戶在 pre-request script 和 tests 事件中編寫 JavaScript 代碼。

      Postman怎么用

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

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

      Postman怎么用

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

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

      Postman怎么用

      小技巧二:Cookie 可編輯

      Postman怎么用

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

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

      Postman怎么用

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

      Postman怎么用

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

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

      Postman怎么用

      示例一:驗(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)置代理來捕獲 HTTP 請(qǐng)求。

      • Postman 應(yīng)用程序監(jiān)聽客戶端應(yīng)用程序或設(shè)備發(fā)出的任何調(diào)用。

      • Postman 代理捕獲請(qǐng)求并將請(qǐng)求轉(zhuǎn)發(fā)給服務(wù)器。

      • 服務(wù)器通過 Postman 代理將響應(yīng)返回給客戶端。

      Postman怎么用

      4.1 開啟抓包

      Postman怎么用

      本機(jī) IP 地址:

      Postman怎么用

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

      Postman怎么用

      4.2 抓包效果

      Postman怎么用

      五、使用代理

      代理服務(wù)器是一個(gè)應(yīng)用程序或系統(tǒng),作為計(jì)算機(jī)和互聯(lián)網(wǎng)之間的中介,或者更具體地說就是代表著客戶端和服務(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ù)載平衡。

      Postman怎么用

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

      Postman怎么用

      六、使用 Collection Runner

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

      Postman怎么用

      七、命令行腳手架 Newman

      Postman 提供腳手架工具 Newman 來以命令行的方式來運(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

      Postman怎么用

      八、付費(fèi)功能

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

      Postman怎么用

      以上是“Postman怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

      向AI問一下細(xì)節(jié)

      免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

      AI