Postman接口自動化測試實戰,從0到1一篇徹底打通...

目錄:導讀

    • 前言
    • 一、Python編程入門到精通
    • 二、接口自動化項目實戰
    • 三、Web自動化項目實戰
    • 四、App自動化項目實戰
    • 五、一線大廠簡歷
    • 六、測試開發DevOps體系
    • 七、常用自動化測試工具
    • 八、JMeter性能測試
    • 九、總結(尾部小驚喜)


前言

postman中的測試

在postman中,可以通過添加腳本到請求當中,來使用動態變量、在請求之間傳遞數據以及編寫測試。寫在Pre-request Scripttab中的代碼會在請求發送之前執行,而寫在Teststab中的代碼會在響應到達之后執行。

B1

postman測試用的語言是JavaScript。
所以對于前端開發者來說幾乎沒有學習成本。對于一個單獨的請求來說,如果它有測試腳本,那么在請求發送之后,在Test Resultstab可以看到對應的測試結果。

另外為了可以快速編寫測試腳本,postman提供了一些通用的代碼片段(code snippets)。

對應的功能結構圖:

B2

測試腳本編寫

例子:

pm.test("response is ok", function () {pm.response.to.have.status(200);
});pm.test("environment to be production", function () { pm.expect(pm.environment.get("env")).to.equal("production");
});pm.test("response must be valid and have a body", function () {pm.response.to.be.ok;pm.response.to.be.withBody;pm.response.to.be.json;
});var schema = {type: 'object',properties: {appID: {type: 'number',},avatar: {type: 'string',}}
}
pm.test('Schema is valid', function() {var jsonData = pm.response.json().data;pm.expect(tv4.validate(jsonData, schema)).to.be.true;
});

pm.test():
為了遵循postman的規范,所有測試代碼必須寫在pm.test()的function里面。第一個參數是該測試的名稱,第二個參數是一個返回boolean值的函數。也就是說這個函數如果返回true,表示測試通過,否則測試失敗。

pm.expect():
這個斷言函數是基于一個JavaScript測試庫ChaiJS BDD構建的。通過類似的語法,你可以很方便的對響應里的數據或者一些變量進行斷言。

pm.response.to.be.*:
這個對象可以提供對響應常見的檢查。如狀態碼是否符合預期等。

tv4.validate():
第一個參數是被檢驗的數據,第二個參數是json schema。通過則返回true,失敗則返回false。

運行測試:
我們通常會給多個api運行測試,因為我們有很多api,或者一個測試場景由多個api所組成。所以我們會把他們添加到一個集合(Collections)當中來運行。

postman(用戶界面)

B3

B4

B5

這里注意,請求是按照Collections當中的順序線性執行。

如果想改變執行順序,可以修改Collections中的順序,或者使用
postman.setNextRequest(“request_name”);

如果想要停止整個流程,可以執行postman.setNextRequest(null);

newman(令行工具)

1、從postman當中導出為json格式的Collections

B6

2、全局安裝newman,npm install -g newman 3.執行命令,newman run sample-collection.json

請添加圖片描述

結合Jenkins自動化

一個通用的方案是在代碼在提交后,或者合入倉庫分支后,執行 newman -c jenkins_demo.postman_collection --exitCode 1。

注意到–exitCode參數,這是為了告訴Jenkins,如果測試失敗,將會返回值為1的退出碼。這樣就Jenkins就可以得知測試運行的成功與否了。

下面是我整理的2023年最全的軟件測試工程師學習知識架構體系圖

一、Python編程入門到精通

請添加圖片描述

二、接口自動化項目實戰

請添加圖片描述

三、Web自動化項目實戰

請添加圖片描述

四、App自動化項目實戰

請添加圖片描述

五、一線大廠簡歷

請添加圖片描述

六、測試開發DevOps體系

請添加圖片描述

七、常用自動化測試工具

請添加圖片描述

八、JMeter性能測試

請添加圖片描述

九、總結(尾部小驚喜)

心若向陽,夢即綻放;困苦是階梯,奮斗是密碼。把握今天,超越昨天;堅持不懈,成就明天。不論遇到何種困難,努力奮斗,終將迎來輝煌的人生篇章!

夢想是航向遠方的指南針,勇氣是驅散黑暗的燈塔。堅持拼搏,不停追求,勇往直前,無畏風雨。踏上征程,放飛心靈,奮斗的汗水定將綻放出絢麗的輝煌!

在每一個艱難的時刻,都要記住,勇敢是戰勝困難的力量。保持堅定信念,放飛夢想的翅膀,積極拼搏,奮斗不止。唯有努力,方能讓生命綻放出最燦爛的光芒!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38564.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38564.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38564.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【網絡基礎】傳輸層

【網絡基礎】傳輸層 文章目錄 【網絡基礎】傳輸層1、端口號1.1 工具 2、UDP協議2.1 協議端格式2.2 UDP特點2.3 傳輸數據報2.4 緩沖區2.5 基于UDP應用層協議2.6 使用注意事項 3、TCP協議3.1 協議段格式3.2 ACK機制3.3 超時重傳機制3.4 連接管理機制3.5 滑動窗口3.6 流量控制3.7 …

207、仿真-51單片機脈搏心率與血氧報警Proteus仿真設計(程序+Proteus仿真+配套資料等)

畢設幫助、開題指導、技術解答(有償)見文未 目錄 一、硬件設計 二、設計功能 三、Proteus仿真圖 四、程序源碼 資料包括: 需要完整的資料可以點擊下面的名片加下我,找我要資源壓縮包的百度網盤下載地址及提取碼。 方案選擇 單片機的選擇 方案一&a…

猿輔導Motiff與IXDC達成戰略合作,將在UI設計領域推動AI革新更多可能性

近日,“IXDC 2023國際體驗設計大會”在北京國家會議中心拉開序幕,3000設計師、1000企業、200全球商業領袖,共襄為期5天的用戶體驗創新盛會。據了解,此次大會是以“設計領導力”為主題,分享全球設計、科技、商業的前沿趨…

報錯解決:matlab機器人工具箱不支持將腳本 DHFactor 作為函數執行

matlab使用機器人工具箱出現報錯: 不支持將腳本 DHFactor 作為函數執行: D:\MATLAB\install\toolbox\rvctools\robot\DHFactor.m 解決辦法:重新到上圖的rvctool重重新安裝一下工具箱就好了。 到目錄"$機器人工具箱路徑$\rvctools" 在matlab命…

使用Scanner接收用戶輸入

掃描輸入的兩種方式 Scanner主要提供了兩個方法來掃描輸入: (1)hasNextXxx():是否還有下一個輸入項,Xxx可以是Int,Long等代表基本數據類型的字符串。 如果只是判斷是否包含下一個字符串,則直…

新手開抖店多久可以出單?

?開抖店是一種越來越流行的創業方式,在社交媒體平臺上開店銷售各種商品,比如服裝、配飾、美妝和家居用品等等。對于新手來說,他們可能會很關心自己開抖店能夠多久出單。雖然這個問題沒有一個固定的答案,但是以下是一些關鍵的運營…

【boost網絡庫從青銅到王者】第三篇:asio網絡編程中的buffer緩存數據結構

文章目錄 1、關于buffer數據結構1.1、簡單概括一下,我們可以用buffer() 函數生成我們要用的緩存存儲數據。1.2、但是這太復雜了,可以直接用buffer函數轉化為send需要的參數類型:1.3、output_buf可以直接傳遞給該send接口。我們也可以將數組轉化為send接受…

docker發展歷史

docker 一、docker發展歷史很久以前2013年2014年2015年2016年2017年2018年2019年及未來 二、 docker概述定義:docker底層運行原理:docker簡述核心概念容器特點Docker與虛擬機的區別: 三、容器在內核中支持兩種重要技術四、namespace的六項隔離五、虛擬化產品有哪些1…

CAS 的執行流程 ?CAS 中 ABA 問題如何解決 ?CAS 在 Java 中有哪些實現類 ?

目錄 1. CAS 的執行流程 2. CAS 中的 ABA 問題 3. 如何解決 CAS 中的 ABA 問題 4.CAS 在Java 中的實現類有哪些 1. CAS 的執行流程 CAS 比較并替換的大致流程是這樣的: 它有三個操作單位:V(內存值),A(…

3D沉浸式旅游網站開發案例復盤【Three.js】

Plongez dans Lyon網站終于上線了。 我們與 Danka 團隊和 Nico Icecream 共同努力,打造了一個令我們特別自豪的流暢的沉浸式網站。 這個網站是專為 ONLYON Tourism 和會議而建,旨在展示里昂最具標志性的活動場所。觀看簡短的介紹視頻后,用戶…

Android 面試筆記整理-Binder機制

作者:浪人筆記 面試可能會問到的問題 從IPC的方式問到Binder的優勢為什么zygote跟其他服務進程的通訊不使用BinderBinder線程池和Binder機制 等等這些問題都是基于你對Binder的理解還有對其他IPC通訊的理解 IPC方式有多少種 傳統的IPC方式有Socket、共享內存、管道…

llvm-dyn_cast模板函數

dyn_cast dyn_cast是LLVM中用于執行安全的向下轉型(downcasting)的一個模板函數。在C中,向下轉型是將基類的指針或引用轉換為派生類的指針或引用。這種轉型在運行時進行,如果轉型失敗(即,如果基類的對象實…

云計算虛擬仿真實訓平臺

一、云計算虛擬仿真系統概述 云計算虛擬仿真系統是一種基于云計算技術和虛擬化技術的系統,用于實現各種仿真和模擬任務。它可以提供強大的計算能力和資源管理,為用戶提供靈活、高效、可擴展的仿真環境。 該系統通常由一組服務器、網絡和存儲設備組成&am…

uniapp開發小程序-有分類和列表時,進入頁面默認選中第一個分類

一、效果: 如下圖所示,進入該頁面后,默認選中第一個分類,以及第一個分類下的列表數據。 二、代碼實現: 關鍵代碼: 進入頁面時,默認調用分類的接口,在分類接口里做判斷&#xff…

Linux c語言字節序

文章目錄 一、簡介二、大小端判斷2.1 聯合體2.2 指針2.3 網絡字節序 一、簡介 字節序(Byte Order)指的是在存儲和表示多字節數據類型(如整數和浮點數)時,字節的排列順序。常見的字節序有大端字節序(Big En…

神經網絡基礎-神經網絡補充概念-08-邏輯回歸中的梯度下降算法

概念 邏輯回歸是一種用于分類問題的機器學習算法,而梯度下降是優化算法,用于更新模型參數以最小化損失函數。在邏輯回歸中,我們使用梯度下降算法來找到最優的模型參數,使得邏輯回歸模型能夠更好地擬合訓練數據。 邏輯回歸中的梯…

無監督學習之主成分分析-半導體制造高維數據如何降維

數據降維不只存在于半導體數據中,它是存在于各行各業的,我們要分析的數據維數較多的時候全部輸入維數較大這時就要采取降維的方法綜合出主要的幾列用于我們的分析。 PCA的哲學理念是要抓住問題的主要矛盾進行分析,是將多指標轉化為少數幾個…

前端技術棧es6+promise

let入門使用、 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>let 基本使用</title><script type"text/javascript">let name "hspedu教育";//老韓解讀//1. conso…