1. 程式人生 > >postman介面測試和壓力測試

postman介面測試和壓力測試

KS

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傳送請求,請求結果將會在下方顯示出來。每次的請求歷史資料,會被記錄下來,但是經常使用的請求,還是儲存一下,這麼每次用的時候,選擇就行了,及其方便。

另外,最好建立一個賬號,這樣資料將會永久儲存下來,不至於重灌了系統或者換了臺電腦資料都沒了的尷尬。

640?wx_fmt=png

儲存的時候起個好聽的名字

640?wx_fmt=png

Header會傳輸一些我們需要的一些通用的資料,定義好之後,每個介面幾乎都是一樣的。所以,把這些資料進行預置,這樣就不用每新建一個請求,都要重複的新增Header了。

請求的時候,會把請求狀態,請求的時間,以及返回的資料大小返回回來。這樣一目瞭然。最常見的status就是200表示成功,400表示未找到資源。500開頭的基本都是服務端異常等等。我之前寫了一篇很詳細的狀態說明,請參見“

HTTP狀態碼大全

640?wx_fmt=png

640?wx_fmt=png

點選params可以把url裡的引數以列表的形式展現出來,方便編寫

640?wx_fmt=png

還有一種更方便的編輯方式,點選Bulk Edit ,直接修改字串的方式修改,而且可以複製貼上,方便遷移到其它地方。而且這個功能在其它引數編輯的地方都適用。

640?wx_fmt=png

我們來看看如何傳送POST介面

640?wx_fmt=png

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("新增成功")

   }

});

640?wx_fmt=png

binary

只能上傳一個檔案,也不能新增引數。

640?wx_fmt=png

壓力測試

當你需要驗證你的介面的抗壓能力的時候,可以點選Runner,進行壓力測試

640?wx_fmt=png

注意:壓力測試只能以資料夾的方式執行多個介面,不能單獨執行,如果想要測試某一個介面,就創一個資料夾,這個資料夾裡只有一個要測試的介面。

640?wx_fmt=png

點選執行,併發執行了500次。每次再100毫秒內返回結果。

640?wx_fmt=png

由於篇幅問題,還有其他功能等下次再講解吧。

相關推薦

postman介面測試壓力測試

KSKnowledge Sharing知識分享    現在是資源共享的時代,同樣也是知識分享的時代,如果你覺得本文能學到知識,請把知識與別人分享。前言現在很多公司寫後端程式碼和前端程式碼已經分工很明確了,前後端把介面定義好,然後各自寫各自的程式碼就可以了。那麼對於服務端的開發

使用Jmeter進行介面測試壓力測試的配置使用

1. Jmeter簡介 Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試,但後來擴充套件到其他測試領域。 JMeter 可以用於對伺服器、網路或物件模擬巨大的負載,來自不

利用postman 實現GetPost測試

支持 而且 通信 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各個型號)不同手機的分辨率、不同機型(