tft每日頭條

 > 科技

 > web接口測試工具jmeter

web接口測試工具jmeter

科技 更新时间:2024-08-03 22:14:40

在數字網絡世界,“身份信息”就像我們的身份證一樣,有身份證信息,我們才可以去辦理個人社保、公積金、銀行卡之類的信息,同樣的我們要獲取這些數據,都必須使用我們的身份證進行驗證,否則對應的系統服務器無法識别,是否用戶本人?應該給獲取什麼數據給對應的用戶?

web接口測試工具jmeter(接口自動化測試世界裡的)1

同樣的在接口的世界裡面,不同的客戶端向服務器請求信息時,也需要指定的“身份信息”來告知服務器該請求是哪個客戶端發起的 。服務器根據接口對應的“身份信息cookie”來識别發起請求的是誰,應該給其什麼數據,且該數據是别人無法獲取的。

Jmeter是一個常見的接口自動化測試工具,其提供了HTTP Cookie Manager來管理接口需要的“身份信息”。

基礎概念

在cookie管理器之前需要了解以下兩個概念:

Cookie

Cookie是遠程服務端返回的識别用戶身份信息,該信息存儲在客戶端,客戶端每次進行操作時,會通過HTTP協議和服務器端進行Cookie的交互,驗證身份信息正确才可交互成功(大多數需要登錄後操作的接口上面會比較常見)。

Set-Cookie

設置HTTP Cookie,用來存儲一些用戶信息以便讓服務器辨别用戶身份的,一般是服務端返回的用戶身份信息(大多數需要登錄的接口上面會比較常見)。

Cookie和set-cookie之間的調用關系如下圖:

web接口測試工具jmeter(接口自動化測試世界裡的)2

獲取身份信息

用戶登錄成功後,服務器會通過登錄請求的響應信息頭(Response Headers)返回對應的“身份信息”,該信息存儲在set-cookie中。

身份信息

我們可根據開發提供的接口文檔找到身份信息指定的字段是哪一個,本文示例以XXX系統為例。

Response-headers下的set-cookie的第一個字段就是我們需要的“身份信息”:

Set-Cookie: ***_TOKEN=A73D75CE267E489EB61547BA1C5E89B0

具體如下圖:

web接口測試工具jmeter(接口自動化測試世界裡的)3

提取身份信息

添加Regular Expression Extractor,通過正則表達式的方式從response headers中提取“身份信息” ,如下圖:

web接口測試工具jmeter(接口自動化測試世界裡的)4

1.選擇要檢查的響應信息字段:此處選擇Response Headers;

2.定義變量:下一個請求要引用的參數名稱,用于存儲正則表達式獲取的結果;

3.正則表達式:其中()括起來的部分就是要提取的字符串(關于正則表達式的規則,可自行學習)。

使用cookie

菜單路徑

web接口測試工具jmeter(接口自動化測試世界裡的)5

添加cookie

登錄接口的提取到的cookie信息:

在登錄接口裡面通過正則表達式獲取到的cookie有多個,形成list類型的數據,此時需要通過對應的變量名來獲取指定的有效cookie信息,例如本文中,有效的cookie對應的變量名為:cookie_g1=D5062B16CBA04005AA845CBB2E643B5D,如下圖:

web接口測試工具jmeter(接口自動化測試世界裡的)6

1.Name:定義cookie的名稱,接口中定義的cookie所在字段的名稱;

2.Value:Cookie變量值得引用,從上一個請求中提取的cookie的變量名稱:${cookie_g1};

3.Domain:定義cookie生效的域名,若不定義則請求時不會引用該cookie信息。

web接口測試工具jmeter(接口自動化測試世界裡的)7

腳本

本文示範的請求隻有一個,所以直接在該請求下添加cookie管理器,如下圖:

web接口測試工具jmeter(接口自動化測試世界裡的)8

運行結果

登錄後未設置對應的cookie管理器,或者cookie管理器的域名設置錯誤,則進行其他接口請求時,request内容會顯示no cookies,則接口請求會報錯401,如下圖:

web接口測試工具jmeter(接口自動化測試世界裡的)9

登錄後的其他接口請求,會自動獲取cookie管理器内的信息,作為cookie data進行身份信息驗證:

web接口測試工具jmeter(接口自動化測試世界裡的)10

常見狀态碼

以下為個人在進行接口測試過程中常見的狀态碼:

web接口測試工具jmeter(接口自動化測試世界裡的)11

其他常見狀态碼可自行百度學習,在進行接口自動化測試過程中,掌握基礎的常見HTTP狀态碼,有利于我們快讀判斷接口錯誤的原因。

我是誰?

我是一名從事了多年軟件測試的老測試員,今年年初我花了一個月整理了一份最适合2020年學習的軟件測試學習幹貨,可以送給每一位對軟件測試感興趣的小夥伴,想要獲取的可以關注我的頭條号 私信:【測試】,即可免費獲取。

web接口測試工具jmeter(接口自動化測試世界裡的)12

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved