1. 程式人生 > >接口測試:postman和jmeter隨記

接口測試:postman和jmeter隨記

命名 單個 odi http請求 說了 area 默認 info 子集

這個是我人生中第一次寫博客,也不知道怎麽寫,就準備寫寫上周六第一次上的自動化測試課程中學習到的知識點吧。

一、postman,是一款功能強大的接口測試工具,可以提供功能強大的 Web API 和 HTTP 請求的調試,它能夠發送任何類型的HTTP 請求 (GET, POST, PUT, DELETE…),並且能附帶任何數量的參數和 Headers。

這邊主要說下postman的一些主要的知識點

1.設置全局變量

打開postman客戶端,點擊右上角的小齒輪按鈕,在下拉菜單中選擇第一個菜單,也就是Manage Enviroments

技術分享圖片點擊Manage Enviroments後便可以打開設置全局變量的對話框,然後點擊右下方的Globals按鈕,就是設置全局變量

技術分享圖片

在key和value的輸入框中輸入對應的值,點擊頁面右下角的save按鈕就設置成功了

技術分享圖片

2.使用全局變量

使用全局變量就是在接口地址的ip的地方輸入設置的全局變量的key的名稱,在其外面加兩個大括號{{}}就可以了

技術分享圖片

2.使用postman做接口測試

1)根據接口文檔確定接口的類型是post還是get,先選擇接口的類型

技術分享圖片

2)選擇了接口類型後就需要將接口的測試地址輸入至輸入框,其中的ip地址可以直接輸入也可以用全局變量,選擇"Body"後輸入接口文檔中的傳參,包括參數名和參數值

如果沒有其他的要求,如此便可以點擊右上方的“send”直接運行,進行測試了

技術分享圖片

3)接口中消息頭的添加

如果接口中需要添加消息頭,則在工具中的Headers中輸入消息頭的key和對應的values的值,再在body中輸入必填的參數,然後進入運行

技術分享圖片

4)上文文件接口

仍然是在body中,輸入對應的key,在value的類型中可以點擊,下拉選擇file,然後上傳文件運行即可

技術分享圖片

5)json格式的傳參

如果接口文檔中的傳參是json格式的,則只要在輸入參數的時候,選擇raw項即可

技術分享圖片

6)get類型的接口

get類型的接口在測試是,當然首先是降接口類型選擇為GET,然後直接輸入接口地址,在地址後加?後面添加參數和對應的值,多個參數之間用&分開,然後直接運行即可

技術分享圖片

二、接口測試工具很多,課程上學習了另外一個工具Jmeter,下面就來記錄下學習到的關於jmeter(我目前用的是4.0的版本)這個工具的一些知識點

jmeter 開源的java開發的一個壓力測試工具,關於jmeter的安裝就不寫了,安裝很簡單,配置環境變量其實也不難,網上很多教程,但是慚愧的是我還是在環境變量的配置上花了很多時間,當然是由於個人的原因,不說了,說多了都是淚,主要還是來說說這個工具的幾個特殊的功能點吧

1.現在很多jmeter安裝直接使用的話,有些地方會展示亂碼

第一個地方是查看結果樹的內容中會出現亂碼,解決的方法是:1)在jmeter的bin目錄下找到jmeter.properties這個文件

搜索"ISO"(因為默認編碼為:ISO-8859-1)更新為:sampleresult.default.encoding=utf-8

2)重啟jmeter

第二個地方是jmeter body data的內容中會出現亂碼,解決的方法是:1)在jmeter的bin目錄下找到jmeter.properties這個文件

把#jsyntaxtextarea.font.family=Hack的前面的#號去掉

2)重啟jmeter

2.使用jmeter來測試接口

1)切換語言

打開jmeter工具,在左上角的菜單中找到options,下拉選項中有個Choose Language是可以用來切界面換語言的

技術分享圖片

2)添加線程組

添加線程組相當於建一個隊伍,然後一個項目下的接口都可以寫在這個線程組下面,右擊Test Plan

技術分享圖片

3)添加HTTP請求,也就是添加測試接口的用例,右擊線程組後新建的接口測試用例就會屬於這個線程組下面(後面會寫到自定義變量的影響範圍)

技術分享圖片

4)get類型的接口,在最上方的名稱後面可以寫對應接口的名稱,以便區分於其他接口,服務器名稱或ip一欄中輸入ip地址或者填寫設置好的公共變量(下面會講如何設置公共變量),方法選擇GET類型,路徑填寫接口的測試地址,只要填寫ip地址後面的就可以,在頁面底部有個添加按鈕,點擊後輸入需要傳入的參數以及對應的參數值,至此,所有的信息就全部填寫好了,可以調用接口了,POST類型的接口只要在接口類型中選擇POST就可以了,其他的參數添加跟GET類型是一樣的

技術分享圖片

5)添加查看結果樹,接口調用後我們需要查看返回結果,這個時候就需要添加查看結果樹。右鍵線程組或者右鍵某一個http請求都可以添加查看結果樹,兩者的區別在於影響範圍,前者是在該線程組下運行的接口結果都可以查看,而後者只能查看單個接口返回的結果

技術分享圖片

技術分享圖片

6)用戶定義的變量,之前在新增接口用例時,ip一欄可以直接輸入地址也可以使用自定義變量,自定義變量的添加也存在層級關系,在線程組添加的,這個變量就適用於該線程組下所有的接口請求

技術分享圖片

7)一個接口的參數值來源於其他接口的返回值,這種情況下就要設置對應的變量。例如一個接口是給學生充值,一個接口是登錄接口,其中給學生充值的接口需要傳一個參數是學生賬戶信息,這個信息依賴於登錄接口返回的值,所以此時需要建一個變量來調用

技術分享圖片

該變量中需要定義的是變量名:sessionid(這個隨意取名,只要與後面調用它的地方保持一致便可),變量值是返回結果中的數據:示例中$.login_info.sign,sign是我們需要的值,而login_flogin_info是sign上一層級的參數名稱,$則是最外層的參數

技術分享圖片

充值接口中添加的header參數cookie的值就可以直接寫剛才定義好的參數即可

技術分享圖片

8)上傳文件接口,上傳文件的接口中jmeter有一個地方需要註意,就是添加文件參數的MIME類型需要填寫,不然調用接口的時候會報錯

技術分享圖片

9)循環固定次數操作文件中對應的數據,此時也需要設置對應的變量,首先需要建一個文檔,在文檔中輸入接口傳參的多個值

技術分享圖片

在CSV文件設置中依次輸入文檔的絕對路徑和自己命名的變量名稱

技術分享圖片

在調用該變量的接口參數的值設置時直接使用變量名稱,該示例中文檔中的內容是stu_id

技術分享圖片

10)循環新增數據可以通過函數來實現,每個函數都會有自己的意思,所以這邊就簡單講下如果使用了

技術分享圖片

函數助手中有很多不同功能的函數,在選擇某一個函數後,點擊“生成”按鈕,就可以生成可以拿來直接用的函數格式

技術分享圖片

將生成的函數格式直接復制至對應的參數值上就可以了

技術分享圖片

用jmeter編寫接口測試用例是個樹形結構,所以在新增變量,結果樹等的時候都存在一個層級關系,也就是建在哪個上面,就對其及其所有子集都會起作用,而且接口測試用例在執行的過程中也是按順序來的,所有在寫測試用例的時候要稍微註意些各個接口之間的先後關系。這次就先寫這麽多內容了,以後學習了再來進行補充。

接口測試:postman和jmeter隨記