Ⅰ 如何用postman做介面測試
具體步驟如下:
1、在電腦桌面上找到安裝的postman軟體位置,滑鼠雙擊圖標打開;打開後顯示如下界面即為打開成功。現在我們開始對一個介面進行測試。
Ⅱ 【介面測試】0 介面測試工具Postman簡介
從今天開始,會持續更新一款介面測試必備工具-postman的系列使用文章,每天會更新一篇postman的使用技巧,希望對工作中用得到該工具的同學有所幫助。
Postman 最早是google的一個插件讓空存在的,但是又google退出中國以及postman團隊對工具的定位,主攻pc端app的開發及優化,現在的google插件已經很少再使用了,postman雖然是一個商用軟隱襲件,但是對於我們普通用戶來說,基本功能完全夠用的。
Postman 從最初設計上就是為介面測試而生的,所以在程序員中廣泛使用,在開發調試網路程序時跟蹤一些網路請求,能夠高效的幫助後端開發人員獨立進行介面測試。
我們來看一下postman的主要功能:
1、Postman是一款功能強大的網頁調試、HTTP請求發送及介面測試用例運行的工具
2、能夠模擬各種HTTP Request如GET、POST 、header、 PUT、 DELETE…等等
3、請求中還可以發送文件(圖片、文本文件等)、額外的header等,實現特定的介面測試
4、能夠高效的幫助後端開發人員獨立進行介面測試
5、Postman提供了雲服務,支持數據同步及團隊協作等
6、提供了豐富的HTML格式的報告模板
7、不僅僅進行坦攜瞎介面測試,而且是一個API管理工具
8、Postman是一款最常見的REST風格介面測試工具。
9、.................
在後面的系列文章中包括但不限於下面的專題:
1、Postman 工具的安裝及注冊
2、Postman介面測試的流程
3、Postman 發送get請求
4、Postman 發送post請求-x-www-from-urlencoded格式參數使用
5、Postman 發送post請求-form data格式參數使用(file文件上傳)
6、Postman 發送post請求-Json格式參數使用
7、Postman 環境變數的使用
8、Postman pre-requests的使用
9、Postman test斷言功能的使用
10、Postman Runner的使用
11、Postman Data數據文件處理
12、Postman monitor功能使用
13、Postman Newman命令行工具的使用
14、Postman與Jenkins集成使用
15、Postman進行Soap webservice介面測試
16、Postman使用mock進行擋板測試(1)
17、Postman使用mock進行擋板測試(2)
..............
暫時先規劃這么多,後面在寫的過程中,遇到好的點,會增加進來,今天就先寫到這。
Ⅲ 適用於Mac系統的API介面調試應用
Apifox 中文版是一款適用於 Mac 的API介面調試應用。官方介紹 Apifox = Postman + Swagger + Mock。Apifox 可以用於介面文檔、介面調試、Mock、自動化測試,可以幫助大大提升開發效率!
軟體開發過程中,介面管理、調試、自動化測試是必不可少的,我們經常使用 Postman 等工具來進行介面調試,在介面調試方面 Postman 做的非常出色。但是在整個軟體開發過程中,介面調試只是其中的一部分,還有很多事情 Postman 無法完成,或者無法高效完成,比如:介面文檔定義、Mock 數據、介面自動化測試等等。而 Apifox 就是為此而生的。
可視化介面管理
支持數據結構行殲(JSON Schema)管理,多介面可復用相同數據結構。
介面調試
Postman 有的功能,比如環境變數、預執行腳本、後執行腳本、Cookie/Session 全局共享 等功能,Apifox 都有,檔隱沖並且和 Postman 一樣高效好用。
自動校驗數據結構
介面調試時,自動校驗返回的數據結構是否符合介面文檔定義,一鍵發現介面數據異常。
介面數據 Mock
內置 Mock.js 規則引擎,非常方便攜念 mock 出各種數據,並且可以在定義數據結構的同時寫好 mock 規則。 支持自定義期望,靈活配置根據參數值返回不同數據內容。 零配置即可 Mock 出非常人性化的數據。
自動化測試
完善的介面自動化測試功能,保證介面數據的正確性。 支持自定義腳本,自動化檢查數據正確性。自定義腳本語法 100% 兼容 Postman,降低學習成本。
數據導入/導出
支持導出 OpenApi (原Swagger)、Markdown、Html 等數據格式。 支持導入 OpenApi格式(原Swagger)、Postman、HAR、RAP2、yapi、Eolinker、DOClever、ApiPost、Apizza 等數據格式。
Ⅳ 如何用postman做介面測試
方法/步驟
在Google已安裝念唯扒完成的介面測試工具的postman的程序之後,點擊進入桌面的chrome應用啟動器。
進入到應用啟動器界面中之後,可以看到是postman的應用圖標程序。點擊進入。山掘
進入到postman的歡迎的界面中,如果有賬號可以進行點擊登錄賬號,無賬仔昌號可以點擊Go
to
the
app進入。
這樣就進入到postman界面中,進行對網路網址進行測試話,選擇get請求,把網路網址在輸入框中輸入。
輸入完成之後,然後進行點擊send。
如果測試用成功,返回的status為200
ok,而在下列的是放回的網路首頁的元素信息。這樣網路首頁介面測試就成功了。
Ⅳ Postman 介面測試(變數與參數化)
上一篇文章 我們學習了用例斷言,添加了斷言後一個測試用例就算完成啦。如果要寫獲取另外一個城市天氣信息的測試用例,你會怎麼做?
可能第一反應就是復制上面的用例岩臘枝腳本,把裡面的 location 值換成另外一個城市的就可以了。這樣做可以實現,但這里我們學習另外一種實現的方式,局枯用變數替換 location 的具體值,然後把具體 location 值從其他地方調用過來使用。
Postman 中可以創建粗敏 Environment 變數(相當於局部變數)和 Globals 全局變數。
首先,我們來學習一下創建和調用 Environment 變數。
學習完 Environment 變數後,我們接著來學習 Globals 變數。
以上就是變數的一些知識,但不管是 Environment 變數還是 Globals 變數都是在調試腳本的時候用得比較多。如果批量或者重復執行用例時,需要用到大量的數據,Environment 變數和 Globals 變數就很難滿足數據要求了。
Ⅵ API管理工具之Postman腳本編寫
原文地址: https://www.jianshu.com/p/ff5de99dffe2
Postman中支持腳本的編寫,可以利用腳本來實現變數的設置,做如侍參數的增加以及結果的測試等等。
使用場景介紹:比如我們在用戶token,一段時間後過期,每次要重新手動替換比較麻煩吧?更不符合自動化的理念。
解決方案:在登錄的Test腳本更新環境中的token中的變數橡蠢。
如下示例:
Postman中支持在三個地方編寫腳本:
其中collection和folder中腳本的入口如下:
Postman中事件可分為四種:
具體的執行順序如下:
有兩種:
打開之後就可以看到腳本中的輸出日誌了。
腳本有pre-request和test兩種,所在位置如下:
在請求發送之前執行,可純吵用於設置環境變數。
示例:
在收到返回結果後執行,可用於驗證返回結果。
示例:
Postman之所以支持腳本的編寫是因為Sandbox,這是一個JavaScript的運行環境。
Ⅶ PostMan進階——測試腳本的編寫
預處理腳本(Pre-request script)
斷言腳本(Tests script)
請求之前添加的腳本,我們稱為預處理(Pre-request Script) ,預處理腳本與Jmeter的前置處理器類似,主要作用就是一些初始化的功能
請求本身的問題,但是「請求前後的動作」是怎麼處理的?
比如在發送一個請求前,需要獲取當前系統時間戳,這就需要用到Pre-request Script的知識。請求返回響應結果後,如何自動判斷響應是否正確?這就需要用到Tests的知識。
postman支持javascript,允許測試人員給請求和集合添加動態行為,通過使用javascript腳本,可以構建包含動態參數的請求,在請求之間傳遞數據。可以在下面兩個事件流中添加javascript腳本。
1、在請求發送前,添加作為「Pre-request Script」選項下的預處理腳本
2、在收到響應後,添加測試腳本進行斷言、流程式控制制
可以將預處理和測試腳本添加到一個集合、一個文件、一個請求中。
1、為集合添加腳本
2、為文件添加腳本
3、為請求添加腳本
在Postman中,單個請求的腳本執行順序如圖
1、與請求相關聯的預請求腳本將在請求發送之前執行
2、與請求關聯的測試腳本將在接收響應之後執行。
對於集合中的每個請求按順序執行
1、與集合相關的預請求腳本將在集合中的每個請求之前運行
2、與文件夾相關聯的預請求腳本將在文件夾中的每個請求之前運行。
3、與集合相關的測試腳本將在集合中的每個請求之後運行。
4、與文件夾關聯的測試腳本將在該文件夾中的請求之後運行。
對於集合中的每個請求,腳本總是按照下面的層次結構運行:集合級腳本、文件夾級腳本、請求級腳本。此執行順序適用於預請求和測試腳本。為了驗證其正確性,可以創建這樣一個集合,其中包含一個文件夾和兩個請求。
2 測試腳本
預處理腳本,指在請求發送之前執行的腳本。如果想在請求發送時包含當前時間戳或者一個隨機的字元,前端加密等,在這個場景下使用前置腳本。例如,要在請求頭中包含一個時間戳,可以設置一個環境變數,其值從函數返回。
預處理腳本將被執行,並且timestampHeader的值將被賦值給變數{{timestampHeader}}。body中通過使用{{timestampHeader}}來傳遞變數。
Postman准備了常用腳本實例,這些腳本能夠滿足大多數介面測試的需求,接下來,一起認識一下它們,Postman在右側區域列出了常用腳本。
演試案例:
准備介面
打開「Postman Console」
了解console.log()
介面描述:
Postman Console窗口輸出內容的順序體現了腳本執行的順序,Pre-request Script請求中的腳本先執行,然後才發送介面的請求
設置變數、獲取變數值腳本
1、設置一個全局變數
pm.globals.set("variable_key", "variable_value");
2、設置一個環境變數
pm.environment.set("variable_key", "variable_value")
3、獲取一個全局變數
pm.globals.get("variable_key")
4、獲取一個環境變數
pm.environment.get("variable_key")
演試案例:
演試內容:Postman在右側區域列出了常用腳本的演試
通過console.log輸出globals、environment當前的環境變數,Postman Console窗口的輸出情況。
清除變數的腳本
1、清除一個全局變數
pm.globals.unset("variable_key")
2、清除一個環境變數
pm.environment.unset("variable_key")
發送請求的腳本
1、發送一個請求
pm.sendRequest()
響應之後添加的腳本,稱為測試腳本(Tests Script),即斷言腳本,測試腳本主要用於介面斷言,類似LoadRunner工具中的檢查點、Jmeter中的斷言功能。需要使用javascript語言為每個請求編寫測試腳本。
測試腳本相關方法:
1、檢查響應體中是否包含一個欄位
pm.expect(pm.response.text()).to.include("指定的內容")
2、將xml格式額響應體轉換程Json對象
varJson=xml2JSON(responseBody)
3、檢查響應體等於一個字元串
pm.response.to.have.body("指定的內容")
4、檢測響應體的JSON值
varJSON=pm.response.JSON();//將結果轉換程json格式
pm.expect(JSON.value).to.eql(「目標數」);
5、檢測響應體中包含某個header
pm.response.to.have.header("Content-Type")
6、檢查響應時間,要求小於100ms
pm.expect(pm.response.responseTime).to.be.below(100);
7、要求該介面響應碼為200
pm.varibles.get("指定狀態碼")
8、要求響應狀態中包含某個字元
pm.response.to.have.status("OK")
9、要求status code符合某個條件
pm.expect(pm.response.code).to.be.oneOf([200,201,202])
關於postman測試腳本中介面返回結果比較復雜的斷言,且需要對多個值進行斷言的情況,通過一個示例說明。
假如該介面mock出參如下:
我們需要斷言其中的多個欄位,可如下斷言:
Ⅷ postman測試沙箱
Postman沙箱是一個JavaScript執行環境,當你為請求編寫預請求腳本或測試腳本時,編寫的腳本在喚高這個沙箱中進行。
就是結合了JS腳本完成測試中的功能,在請求發起前後實現部分測試操作。
介面請求之前執行的腳本。
介面請求之後執行的腳本,通常用於斷言的操作。
在測猛茄試的時枝鏈察候我們需要對測試結果進行校驗,判斷結果是否符合我們的預期,這個過程就叫做斷言。
Ⅸ postman測試介面通過腳本動態設置請求頭參數
1、設置雹仔枝戚搭環境變數appId和secret
2、設置源敏腳本
Ⅹ postman中怎樣使用腳本生成一個壞境變數
這個問題比較復雜.簡單來說,你要根據介面功能需求,寫對應tests
如:請求正確發出和接收,則需要檢測狀態碼是否為200,可以這樣寫:
tests["Status code is 200"] = responseCode.code === 200;
需要返回結果是否包含某一欄位(如user_name),可以這樣寫:
tests["Body matches user_name"] = responseBody.has("user_name");
建議你看看簡書網站上的這篇文章的第四節:Testing 實例
http://www.jianshu.com/p/61cfcb436ee4
另外初學者直接在簡書上面搜索postman,可以找到很多有用的知識.建議你去好好看看