最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

軟件測試小白:如何靠Jmeter擺脫搬運工角色?

2021-12-07 16:32 作者:博為峰  | 我要投稿

很多接口自動化測試人員都知道,實際上我們進(jìn)行接口自動化時,大部分人都是依賴于開發(fā)維護(hù)的接口設(shè)計文檔,或者是直接使用抓包工具獲取需要的接口數(shù)據(jù)。

然后再去按照ULR、headers、body進(jìn)行各種組裝請求,將接口的基礎(chǔ)配置從文檔或者抓包工具復(fù)制搬運到到對應(yīng)的接口自動化工具(例如Postman、Jmeter、Robotframework等)上面進(jìn)行二次組合,最后再通過工具自身發(fā)起接口請求。

實際上Jmeter自身提供了“錄制”的功能,測試人員可以直接通過“錄制”自己的一系列操作,然后對錄制起來的請求進(jìn)行二次優(yōu)化設(shè)計,可以大大減少前期的基礎(chǔ)編輯的時間。

前期物料準(zhǔn)備

接口自動化流程和功能測試流程一樣,在開始測試之前都需要進(jìn)行一些物料準(zhǔn)備,例如功能測試需要確定測試環(huán)境(測試1、測試2或者直接預(yù)生產(chǎn)測試)、測試設(shè)備(Android系統(tǒng)、ios系統(tǒng)等),對應(yīng)的今天要實踐的接口自動化,需要準(zhǔn)備以下物料:

1.Jmeter工具安裝

2.代碼環(huán)境

3.測試系統(tǒng)的賬號/密碼等信息

擺脫搬運的神器

Jmeter的錄制功能原理和抓包工具一樣,都是通過HTTP代理服務(wù)器進(jìn)行,所以在進(jìn)行錄制之前需要設(shè)置代理HTTP(S) Test Script Recorder,主要設(shè)置的內(nèi)容如下:

1.代理的ip和port,一般ip使用默認(rèn)的,端口可定義8888(注意瀏覽器代理端口需要跟Jmeter的保持一致,如下第一圖);


2.設(shè)置錄制下來的請求保存的路徑,選擇保存到“測試計劃TestPlan-線程組Thread Group”下(如下第一圖);


3.(重點)設(shè)置過濾,過濾掉不必要的請求,過濾可選擇兩種模式:一種是只錄制某規(guī)則的請求,一直是不錄制某規(guī)則的請求

(如下第二圖)。

啟動錄制:

錄制數(shù)據(jù)

去除不必要的接口請求,僅保留本次自動化的目的的接口:登錄+獲取XX詳情頁數(shù)據(jù)。

1.優(yōu)化HTTP Header Manager

Jmeter腳本錄制成功后,每個HTTP請求下都會自動帶一個默認(rèn)的HTTP信息頭管理器,但是很多數(shù)據(jù)實際接口需要的信息頭是通用的且只需要兩個字段就可以,所以優(yōu)化前后對比如下:


優(yōu)化完后,將該管理器移動到線程組同一級別,這樣該測試計劃下的所有請求可共用一個信息頭管理器HTTP Header Manager。


2.處理接口依賴

由于錄制時,打開XX詳情頁需要依賴于登錄信息,所以需要在回放腳本前需要手動處理接口上下依賴的登錄信息。

本文案例的依賴有兩個,子系統(tǒng)的登錄依賴于主系統(tǒng)登錄成功返回的token,而打開XX詳情頁接口依賴于子系統(tǒng)登錄成功返回的token,所以需要分別通過jemter自帶的后置處理器提取登錄成功的信息。

2.1主系統(tǒng)和子系統(tǒng)登錄依賴:

i.使用后置處理器Regular Expression Extractor通過正則表達(dá)式提取Token;

ii.在下一個接口中直接引用提取的Token變量。

2.2引用HTTP Cookie Manager統(tǒng)一管理子系統(tǒng)下的接口請求:

子系統(tǒng)登錄成功后,接下來子系統(tǒng)內(nèi)的所有請求均使用同一個登錄信息,所以可引用HTTP Cookie Manager統(tǒng)一管理。

接口之間的依賴處理詳細(xì)如下圖:

3.處理接口上的時間戳和增加監(jiān)聽器

3.1時間戳可使用Jemter自帶的函數(shù)助手,自動生成時間戳變量;

3.2監(jiān)聽器:可選擇View Results Tree先保證接口能自動回放,后續(xù)再根據(jù)需要添加其他監(jiān)聽器。

4.添加循環(huán)控制器,方便對需要壓測的接口進(jìn)行管理。

實戰(zhàn)結(jié)果

總結(jié)

通過上述操作可以看到,相對比日常的接口自動化,我們減少了url、method、data/body、以及信息頭等的處理,我們的工作變成集中在重新梳理下接口的依賴以及添加監(jiān)聽器,就可以完成接口自動化了。

當(dāng)然了,如果是只進(jìn)行一兩個接口可能這個錄制功能看起來也不是特別大的作用,可是如果遇到是幾十個接口,那么每個接口的需要填充數(shù)據(jù)都通過錄制來完成,這個整體上都可以說能節(jié)省20%的工作量,大大提高了測試人員的工作效率。

Jmeter的錄制功除了能提高工作人員的效率外,也存在一定的弊端,例如:

冗余請求

錄制時可能存在很多非必要的請求,需要人工花費時間去剔除。

解決方法:優(yōu)化正則表達(dá)式。

參數(shù)化硬編碼

用戶名/密碼以及環(huán)境變量等錄制時取實時配置數(shù)據(jù),配置數(shù)據(jù)變動時,就需要挨個接口去修改。

解決方法:需要人工去提取變量。

錄制腳本重用性差

所有請求都集中在一個文件夾,腳本復(fù)用性低,例如相同請求在不同模塊內(nèi)無法直接進(jìn)行復(fù)用。

解決方法:需要對請求進(jìn)行梳理分類。

以上為個人錄制遇到的部分弊端,這些弊端需要測試人員對錄制好的腳本進(jìn)行模塊化和參數(shù)化變量等設(shè)計。

就好比HR招聘了一堆人進(jìn)來后,接下來要給每個員工分配工號基本信息、安排部門等,在通訊錄、財務(wù)系統(tǒng)等內(nèi)直接引用工號即可獲取到員工的最新基本信息,若是哪個項目需要測試,直接把測試部門推上去就可以,這就是參數(shù)化變量和模塊化的作用。

最后有一個小小的建議:初學(xué)者還是要一個腳印的去學(xué)習(xí),不能一開始就依賴于錄制功能,只有不斷實踐,才會學(xué)得更深!

歡迎加VX:xiaoxianchen89,回復(fù)B站,免費加入軟件測試學(xué)習(xí)交流群,領(lǐng)更多測試學(xué)習(xí)資料

軟件測試小白:如何靠Jmeter擺脫搬運工角色?的評論 (共 條)

分享到微博請遵守國家法律
呼和浩特市| 弥渡县| 文安县| 体育| 湘阴县| 镇赉县| 安新县| 宁强县| 永善县| 上思县| 松江区| 屏东县| 南江县| 兰溪市| 泸水县| 登封市| 焉耆| 温泉县| 宁远县| 长春市| 攀枝花市| 新沂市| 丰都县| 根河市| 连平县| 读书| 修武县| 庄浪县| 杨浦区| 东兴市| 云浮市| 宽城| 通辽市| 前郭尔| 阜阳市| 茶陵县| 景洪市| 昌吉市| 肥乡县| 杭锦旗| 陕西省|