1、使用Badboy錄製JMeter指令碼
開啟Badboy工具開始進行指令碼錄製。
(1)當我們開啟Badboy工具時,預設就進入錄製狀態。
如下圖:
當然我們也可以點選錄製按鈕,進行狀態的切換。
(2)在位址列中輸入被測地址,並訪問。
我們以訪問京東為例:
在輸入欄中輸入京東網址,點選後邊的小箭頭,跳轉到被測地址中。
當點選箭頭後,記錄一步操作(相當於建立了一個取樣器),並在右側檢視中顯示被測網址的內容,如下圖:
(3)在檢視中可以直接操作顯示出來的內容。
就和我們平時訪問網站一樣的,例如:我點選“請登陸”,就會跳轉到京東的登陸頁面了。
同時指令碼目錄樹中就會繼續新增一步操作。
(4)停止錄製指令碼。
如果一個測試流程錄製完成之後,我們就可以點選停止錄製。
就是點選工具欄中的小紅點,如下圖:
(5)儲存錄制好的指令碼檔案。
點選File
—> Export to JMeter...
,把指令碼檔案儲存到你需要的位置,方便進行管理,JMeter檔案的預設格式是.jmx
格式的檔案。
(6)在JMeter中開啟剛剛儲存的指令碼檔案
點選檔案 —> 開啟
,找到剛剛儲存的指令碼檔案進行開啟,如下圖:
說明:所有錄製的內容都在
Step 1
中,這個元件叫錄製控制器。
(7)新增監聽器
使用Badboy錄製的JMeter指令碼,是不帶監聽器的。
這裡我們需要手動新增一個監聽器,方便檢視結果。
(8)在JMeter中啟動指令碼
在工具欄中點選綠色啟動箭頭來執行該指令碼。
指令碼執行完成之後,可以在"察看結果樹"中檢視該測試計劃中所有請求與響應的結果。
2、使用Badboy引數化配置
Badboy為方便自動化資料靈活性,提供了指令碼引數化的功能。
像上面的例子中是沒有輸入性操作在裡邊的,如果我訪問的是百度,需要輸入一些搜尋關鍵詞資訊,這個時候就需要引數化配置了。
(1)開啟Badboy工具,預設就進入錄製狀態。
(2)在位址列中輸入被測地址,並訪問。
例如:訪問京東網站,搜尋需要的商品。
(3)在百度搜尋欄中輸入搜尋關鍵詞“手機”,並點選搜尋。
點選搜尋:
(4)點選停止錄製按鈕,並開始修改。
展開上一步搜尋商品增加的指令碼目錄樹:
需要修改兩處:
1)如果輸入的關鍵字資訊出現亂碼的情況。
Badboy預設使用系統的IE瀏覽器,出現亂碼的話,將ie
屬性的utf8
改為gbk
。例如,京東網站的ie
屬性為enc
屬性。
雙擊enc
屬性(在該屬性上右鍵選擇Properties
選項也可以),在彈出的視窗中進行修改,
如下圖所示:
(GBK大小寫都可以)
注意:你電腦預設的瀏覽器是什麼編碼,就換成它對應的編碼即可,這樣就可以不亂碼。
2)配置輸入的引數資訊
例如:在京東頁面中,keyword
屬性就是關鍵詞資訊。
雙擊keyword
屬性(在該屬性上右鍵選擇Properties
選項也可以),修改Value屬性為${自定義的變數名}
,點選確定。
然後開始配置變數的引數資訊,步驟如下圖所示:
此時keyword
屬性的值,已被引數化。
(5)雙擊Step 1,進行修改
選擇For each value of vari
,表示以每個變數定義的值為準(也就是使用引數化)。
此時檢視指令碼樹的變化,如下圖:
(6)儲存指令碼,並用JMeter開啟該指令碼,執行即可。
也可以在Badboy中,右鍵點選Test 1
—> Play Whole Test
,執行該錄製的指令碼,檢視執行效果。
3、解決“當前頁面的指令碼發生錯誤”提示框
Badboy 錄製指令碼的時候,總是彈出如下彈框提示“當前頁面的指令碼發生錯誤”。
開啟Badboy —> preferences
—> 點選playing
—> 勾選Javascript Error Dialogs
,然後重新Badboy工具即可。
勾選“JavaScript Error Dialogs”
,意思是自動處理/抑制JavaScript錯誤對話方塊。
提示:如果以後在錄製JMeter指令碼的時候,出現如上的彈窗,我們直接點選叉子關閉即可。
4、總結
使用Badboy工具錄製的指令碼,相對於使用JMeter自身工具錄製的指令碼,更加精簡,更加乾淨。
但是Badboy工具錄製指令碼的時候,經常出現無法錄製指令碼的提示,是非常不友好的。
JMeter自身自帶的錄製工具,相容性就非常的好,就是錄製的取樣器非常的多,需要自己優化。
總結:以上都是Badboy最基礎的用法,還有很多的功能以後在工作中慢慢學習、慢慢積累。