postman介面測試和壓力測試
Knowledge Sharing
知識分享
現在是資源共享的時代,同樣也是知識分享的時代,如果你覺得本文能學到知識,請把知識與別人分享。
前言
現在很多公司寫後端程式碼和前端程式碼已經分工很明確了,前後端把介面定義好,然後各自寫各自的程式碼就可以了。那麼對於服務端的開發人員來說,寫好了程式碼後,對外提供了API,這時候沒有頁面可以呼叫除錯,如果等著客戶端寫完程式碼再測試的話,那樣工作的效率是及其低下的。那麼服務端要學會模擬客戶端的呼叫,來除錯自己的程式碼,提早發現問題,這樣後續跟客戶端進行聯調的時候,就大大提高了效率。
我們今天講講Postman模擬客戶端除錯工具,這是我平時工作中最常用的工具之一。
Postman是一款功能強大的網頁除錯與傳送網頁HTTP請求的Chrome外掛。它只要在Chrome裡安裝一個外掛即可完成強大的功能。
但是由於2018年初chrome停止對chrome應用程式的支援,你的postman可能無法正常使用了。目前chrome應用商店能使用的就是chrome擴充套件程式和主題背景。
不過Postman也提供了應用程式的下載。https://www.getpostman.com/apps
根據自己的作業系統,下載不同的版本即可。
官網需要翻牆才能下載,所以我提前下載下來,小夥伴們直接在公眾號回覆“postman”即可獲取下載地址。包括windows版本和mac版本。如果有需要linux版本的話,可以給我留言,我幫你下載。
Postman介紹
下面是在網上隨便抓了一個請求地址來做演示,把請求地址填入位址列,此請求為GET請求。點選Send傳送請求,請求結果將會在下方顯示出來。每次的請求歷史資料,會被記錄下來,但是經常使用的請求,還是儲存一下,這麼每次用的時候,選擇就行了,及其方便。
另外,最好建立一個賬號,這樣資料將會永久儲存下來,不至於重灌了系統或者換了臺電腦資料都沒了的尷尬。
儲存的時候起個好聽的名字
Header會傳輸一些我們需要的一些通用的資料,定義好之後,每個介面幾乎都是一樣的。所以,把這些資料進行預置,這樣就不用每新建一個請求,都要重複的新增Header了。
請求的時候,會把請求狀態,請求的時間,以及返回的資料大小返回回來。這樣一目瞭然。最常見的status就是200表示成功,400表示未找到資源。500開頭的基本都是服務端異常等等。我之前寫了一篇很詳細的狀態說明,請參見“
點選params可以把url裡的引數以列表的形式展現出來,方便編寫
還有一種更方便的編輯方式,點選Bulk Edit ,直接修改字串的方式修改,而且可以複製貼上,方便遷移到其它地方。而且這個功能在其它引數編輯的地方都適用。
我們來看看如何傳送POST介面
form-data、x-www-form-urlencoded、raw、binary的區別
x-www-form-urlencoded
當用戶通過form表單提交資料的時候,例如:
<formmethod="post"action="http://api.test.com/user" >
<inputtype="text"name="name">
<inputtype="text"name="age">
</form>
提交時會向伺服器端發出這樣的資料(已經去除部分不相關的頭資訊),資料如下:
POST /user HTTP/1.1
Content-Type:application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: api.test.com
Content-Length: 21
Connection: Keep-Alive
Cache-Control: no-cache
name=互扯程式&age=18
它的Content-Type是application/x-www-form-urlencoded,這表示訊息內容會經過URL編碼
form-data
當需要上傳檔案(可以上傳多個檔案),並且有引數同時傳遞的時候,選擇這個選項可以上傳檔案。
舉個例子
<formmethod="post"action="http://api.test.com/user/upload.do"enctype=”multipart/form-data”>
<inputtype="text"name="desc">
<inputtype="file"name="pic">
</form>
瀏覽器將會發送以下資料:
POST /user/upload.do HTTP/1.1
Accept-Language: zh-cn,zh;q=0.5
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Content-Length: 60408
Content-Type:multipart/form-data; boundary=ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
Host: api.test.com
我們看到Content-Type:multipart/form-data;
當需要上傳資料的時候,必須設定enctype=“multipart/form-data”,
enctype:規定在傳送到伺服器之前應該如何對錶單資料進行編碼,他有如下的三個值:
1. application/x-www-form-urlencoded。預設的編碼方式。所有字元都會進行編碼(空格轉換為 "+" 加號,特殊符號轉換為 ASCII HEX 值)。
2. multipart/form-data 。 指定傳輸資料為二進位制型別,比如圖片、mp3、檔案。 不對字元編碼。在使用包含檔案上傳控制元件的表單時,必須使用該值。
3. text/plain。純文體的傳輸。空格轉換為 “+” 加號,但不對特殊字元編碼。
其實form表單在你不寫enctype屬性時,也預設為其添加了enctype屬性值,預設值是enctype="application/x- www-form-urlencoded",所以上面註冊使用者的時候雖然沒寫,其實預設加上了。
raw
當需要給服務端傳遞json,xml等資料的時候選擇raw,當選擇了raw的時候,header裡會自動加上
Content-Type: application/json
例如:
$.ajax({
url:"/user/",
data:JSON.stringify(user),
method:"POST",
contentType:"application/json",
success: function(res){
console.info("新增成功")
}
});
binary
只能上傳一個檔案,也不能新增引數。
壓力測試
當你需要驗證你的介面的抗壓能力的時候,可以點選Runner,進行壓力測試
注意:壓力測試只能以資料夾的方式執行多個介面,不能單獨執行,如果想要測試某一個介面,就創一個資料夾,這個資料夾裡只有一個要測試的介面。
點選執行,併發執行了500次。每次再100毫秒內返回結果。
由於篇幅問題,還有其他功能等下次再講解吧。
相關推薦
postman介面測試和壓力測試
KSKnowledge Sharing知識分享 現在是資源共享的時代,同樣也是知識分享的時代,如果你覺得本文能學到知識,請把知識與別人分享。前言現在很多公司寫後端程式碼和前端程式碼已經分工很明確了,前後端把介面定義好,然後各自寫各自的程式碼就可以了。那麼對於服務端的開發
使用Jmeter進行介面測試和壓力測試的配置和使用
1. Jmeter簡介 Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試,但後來擴充套件到其他測試領域。 JMeter 可以用於對伺服器、網路或物件模擬巨大的負載,來自不
利用postman 實現Get和Post測試
支持 而且 通信 type 瀏覽器 ont 服務器 金字塔 bsp 通過之前對金字塔結構的學習,大概了解到了金字塔模型想告訴我們的幾個道理: 1.越底層,越穩定。 金字塔主要觀點認為單元測試的穩定性高,需要多投入。 2.越底層,越高效。 程序的問題,最終還
隨行付微服務測試之介面測試和契約測試
背景 日常開發過程中,專案的介面通常由服務提供方約定和提供,微服務模式下介面被多個消費者呼叫更是常態,那麼提供方介面的變更如何快速、高效、無遺漏的通知給消費者呢?另外,當一個service同時被多個使用者呼叫,如何保證對service的修改可以讓其它所有使用者造成的影響都能被感知到?這些問題契約測試可以給你答
Postman接口&壓力測試
生成 header glob 取數據 inf 語法 設計文檔 head matches Postman接口與壓力測試實例 Postman是一款功能強大的網頁調試與發送網頁HTTP請求的Chrome插件。它提供功能強大的 Web API & HTTP 請求調試。
從零開始一個http伺服器(六)-多路複用和壓力測試
從零開始一個http伺服器(六)-多路複用和壓力測試 程式碼地址 : https://github.com/flamedancer/cserver git checkout step6 執行: make clean && make && ./myserver.out 測試 瀏
如何使用 JMeter 呼叫你的 Restful Web Service?進行簡單的壓力測試和自動化測試
表述性狀態傳輸(REST)作為對基於 SOAP 和 Web 服務描述語言(WSDL)的 Web 服務的簡單替代,在 Web 開發上得到了廣泛的接受。能夠充分證明這點的是主流 Web 2.0 服務提供商在介面設計中對 REST 的普遍採用 - 包括雅虎、谷歌以及臉譜 - 出於簡
JMeter壓力測試案例大全 之(http測試和socket測試)
目錄 1.jmeter安裝 2.資料庫的壓力測試 3. ftp伺服器的壓力測試 4. sftp的壓力測試(缺) 5.http請求的壓力測試 6. socket的壓力測試 7.郵件伺服器測試 7.1基於命令列 7.2基於介面 8.元件介紹 9.1執行緒組 9.2控制器 9
使用httprunner介面測試以及壓力測試
最近剛接觸了使用httprunner進行壓力測試,個人感覺還是挺方便,主要參考的就是httprunner中文官網 所有第一步就是安裝httprunner以及locusts環境安裝,我是直接參考httprunner中文文件進行的 http://cn.httprunner.or
mosquitto 在windows64安裝部署所需dll檔案,和壓力測試程式碼Q:670255367
歡迎使用Markdown編輯器寫部落格 本Markdown編輯器使用StackEdit修改而來,用它寫部落格,將會帶來全新的體驗哦: Markdown和擴充套件Markdown簡潔的語法 程式碼塊高亮 圖片連結和圖片上傳## 標題 ## LaTex數學公式
關於在開發中的介面測試和HTTP測試方法及注意事項
.net介面測試 1、最近在做專案,開發的地方比較少,主要的地方都是在測試。由於之前我很多在開發過程中,都是web開發,測試的話也都是在瀏覽器上進行測試。現在換了新環境,再加上我接觸的專案是用C#開發的,所以很多都是自己去摸索,實在有不懂的地方,就去問同事。 其中,第一次
Nginx的優化和壓力測試
我們要測試 nginx 的負載能力,需要藉助壓力測試工具。本部落格是使用 Apache 伺服器自帶的一個 web 壓力測試工具 ApacheBench ,簡稱 ab。ab 是一個命令列工具,即通過 ab 命令列,模擬多個請求同時對某一 URL 地址進行訪
負載測試、壓力測試和效能測試的異同
負載測試(Load testing)、壓力測試(Stress Test,應稱為強度測試)和效能測試,這三個概念常常引起混淆,難以區分,從而造成不正確的理解和錯誤的使用。之前,也有不少討論,比較有名的,應歸為Grig Gheorghiu's的兩篇部落格: 負載
kafka效能引數和壓力測試揭祕
上一篇文章介紹了Kafka在設計上是如何來保證高時效、大吞吐量的,主要的內容集中在底層原理和架構上,屬於理論知識範疇。這次我們站在應用和運維的角度,聊一聊叢集到位後要怎麼才能最好的配置引數和進行測試效能。Kafka的配置詳盡且複雜,想要進行全面的效能調優需要掌握大量資訊,
介面測試和app測試的總結
本文主要分為兩個部分: 第一部分:主要從問題出發,引入介面測試的相關內容並與前端測試進行簡單對比,總結兩者之前的區別與聯絡。但該部分只交代了怎麼做和如何做?並沒有解釋為什麼要做? 第二部分:主要介紹為什麼要做介面測試,並簡單總結介面持續整合和介面質量評估相關內容。
負載測試、壓力測試和效能測試的區別
負載測試(Load testing)、壓力測試(Stress Test,應稱為強度測試)和效能測試,這三個概念常常引起混淆,難以區分,從而造成不正確的理解和錯誤的使用。 目前對效能測試沒有明確的定義,一般地,它主要是針對系統的效能指標制定效能測試方案,執行測試用例,得出測試結果來驗證系統的效能
Postman學習之【壓力測試】
Enctype 每次 encode uic conn blank 不用 post esc Postman請自行下載 下面是在網上隨便抓了一個請求地址來做演示,把請求地址填入地址欄,此請求為GET請求。點擊Send發送請求,請求結果將會在下方顯示出來。每次的請求歷史數據,會
單元測試、集成測試、系統測試和驗收測試的聯系和區別
是否 功能 條件 黑盒測試 模塊 期望值 設計 tex 代碼 根據不同的測試階段,測試可以分為單元測試、集成測試、系統測試和驗收測試體現了測試由小到大、又內至外、循序漸進的測試過程和分而治之的思想。 單元測試的粒度最小,一般由開發小組采用白盒方式來測試,主要測試單元是
性能測試,負載測試,壓力測試 區別
子集 性能 get 軟件 破壞 .html logs htm .cn http://www.cnblogs.com/Uther/p/5292164.html 負載測試和強度測試,都屬於性能測試的子集。 負載測試是測試軟件本身最大所能承受的性能測試;壓力測試就是一種
web測試和app測試
服務器 來電 卸載 分辨率 註意 網絡 刷新 androi cpu web測試是b/s結構,app是c/s結構,因此會有很多測試點需要註意: 1、兼容性:web測試需要考慮多個瀏覽器內核測試,app主要是各種手機(iOS和Android各個型號)不同手機的分辨率、不同機型(