『動善時』JMeter基礎 — 46、使用Badboy工具錄製JMeter指令碼

繁華似錦Fighting發表於2021-06-18

1、使用Badboy錄製JMeter指令碼

開啟Badboy工具開始進行指令碼錄製。

(1)當我們開啟Badboy工具時,預設就進入錄製狀態。

如下圖:

image

當然我們也可以點選錄製按鈕,進行狀態的切換。

(2)在位址列中輸入被測地址,並訪問。

我們以訪問京東為例:

在輸入欄中輸入京東網址,點選後邊的小箭頭,跳轉到被測地址中。

image

當點選箭頭後,記錄一步操作(相當於建立了一個取樣器),並在右側檢視中顯示被測網址的內容,如下圖:

image

(3)在檢視中可以直接操作顯示出來的內容。

就和我們平時訪問網站一樣的,例如:我點選“請登陸”,就會跳轉到京東的登陸頁面了。

同時指令碼目錄樹中就會繼續新增一步操作。

image

(4)停止錄製指令碼。

如果一個測試流程錄製完成之後,我們就可以點選停止錄製。

就是點選工具欄中的小紅點,如下圖:

image

(5)儲存錄制好的指令碼檔案。

點選File —> Export to JMeter...,把指令碼檔案儲存到你需要的位置,方便進行管理,JMeter檔案的預設格式是.jmx格式的檔案。

(6)在JMeter中開啟剛剛儲存的指令碼檔案

點選檔案 —> 開啟,找到剛剛儲存的指令碼檔案進行開啟,如下圖:

image

說明:所有錄製的內容都在Step 1中,這個元件叫錄製控制器

(7)新增監聽器

使用Badboy錄製的JMeter指令碼,是不帶監聽器的。

這裡我們需要手動新增一個監聽器,方便檢視結果。

image

(8)在JMeter中啟動指令碼

在工具欄中點選綠色啟動箭頭來執行該指令碼。

指令碼執行完成之後,可以在"察看結果樹"中檢視該測試計劃中所有請求與響應的結果。

image

2、使用Badboy引數化配置

Badboy為方便自動化資料靈活性,提供了指令碼引數化的功能。

像上面的例子中是沒有輸入性操作在裡邊的,如果我訪問的是百度,需要輸入一些搜尋關鍵詞資訊,這個時候就需要引數化配置了。

(1)開啟Badboy工具,預設就進入錄製狀態。

(2)在位址列中輸入被測地址,並訪問。

例如:訪問京東網站,搜尋需要的商品。

image

(3)在百度搜尋欄中輸入搜尋關鍵詞“手機”,並點選搜尋。

image

點選搜尋:

image

(4)點選停止錄製按鈕,並開始修改。

展開上一步搜尋商品增加的指令碼目錄樹:

image

需要修改兩處:

1)如果輸入的關鍵字資訊出現亂碼的情況。

Badboy預設使用系統的IE瀏覽器,出現亂碼的話,將ie屬性的utf8改為gbk。例如,京東網站的ie屬性為enc屬性。

雙擊enc屬性(在該屬性上右鍵選擇Properties選項也可以),在彈出的視窗中進行修改,

如下圖所示:

image

(GBK大小寫都可以)

注意:你電腦預設的瀏覽器是什麼編碼,就換成它對應的編碼即可,這樣就可以不亂碼。

2)配置輸入的引數資訊

例如:在京東頁面中,keyword屬性就是關鍵詞資訊。

雙擊keyword屬性(在該屬性上右鍵選擇Properties選項也可以),修改Value屬性為${自定義的變數名},點選確定。

image

然後開始配置變數的引數資訊,步驟如下圖所示:

image

此時keyword屬性的值,已被引數化。

(5)雙擊Step 1,進行修改

選擇For each value of vari,表示以每個變數定義的值為準(也就是使用引數化)。

image

此時檢視指令碼樹的變化,如下圖:

image

(6)儲存指令碼,並用JMeter開啟該指令碼,執行即可。

也可以在Badboy中,右鍵點選Test 1 —> Play Whole Test,執行該錄製的指令碼,檢視執行效果。

3、解決“當前頁面的指令碼發生錯誤”提示框

Badboy 錄製指令碼的時候,總是彈出如下彈框提示“當前頁面的指令碼發生錯誤”。

image

開啟Badboy —> preferences —> 點選playing —> 勾選Javascript Error Dialogs,然後重新Badboy工具即可。

image

勾選“JavaScript Error Dialogs” ,意思是自動處理/抑制JavaScript錯誤對話方塊。

提示:如果以後在錄製JMeter指令碼的時候,出現如上的彈窗,我們直接點選叉子關閉即可。

4、總結

使用Badboy工具錄製的指令碼,相對於使用JMeter自身工具錄製的指令碼,更加精簡,更加乾淨。

但是Badboy工具錄製指令碼的時候,經常出現無法錄製指令碼的提示,是非常不友好的。

JMeter自身自帶的錄製工具,相容性就非常的好,就是錄製的取樣器非常的多,需要自己優化。

總結:以上都是Badboy最基礎的用法,還有很多的功能以後在工作中慢慢學習、慢慢積累。

相關文章