恕在下才疏學淺,剛剛才學, 整理了一下筆記 ,
先去官網下載: https://jmeter.apache.org/download_jmeter.cgi

然后,解壓,win10在已經安裝JDK的情況下,直接雙擊 bin/ApacheJMeter.jar 運行,

給測驗計劃命個名,比如爬圖片,順便右擊此名稱,添加,執行緒(用戶),執行緒組

執行緒組再右擊,添加,取樣器,HTTP請求,填上協議,IP,方法,路徑等資訊,以爬取此頁圖片為例: https://dp.pconline.com.cn/list/all_t5.html

在 HTTP請求上右擊,添加, 后置處理器,XPath提取器,記得下圖2處要打勾,XPath query 則填寫對應的html標簽和屬性

再次在 HTTP請求 上右擊,添加, 后置處理器,XPath提取器,這個用來取 A 標簽的 title, 也就是圖片名稱,同樣設定好 變數名稱 和 query.

在 執行緒組 上右擊,添加,取樣器,除錯取樣器, 在 執行緒組 上右擊,添加,監聽器,察看結果樹,
至此,可以點擊工具列,綠色三角形按鈕,預覽一下效果,如果提示保存,可點是,保存一下此腳本,
運行結束,紅色STOP按鈕會自動變回灰色,
點擊 察看結果樹,除錯取樣器,回應資料,即可看到 src 變數和 title 變數 獲取到的結果:

下面,要抓取圖片了,
右擊,執行緒組,添加,邏輯控制器,回圈控制器,在回圈次數中,使用上圖結果中的 src_matchNr 或者 title_matchNr 因為這兩個變數正好是數量,

再右擊回圈控制器,添加,配置元件,計數器, 開始1,遞增1,最大值為 src_matchNr 或者 title_matchNr , 設定變數名稱為 num

再右擊 回圈控制器,添加,取樣器, HTTP請求,設定如下圖
${__V(title_${num})} 語法:__V 為拼接函式,拼接 title_ 與計數器中的 num 變數的值,而這個整體再作為變數,用來取得圖片名稱
同理,${__V(src_${num})} 則用來取得圖片路徑,

在這個HTTP請求上右擊,添加,后置處理器,BeanShell 后置處理程式,添加以下代碼:
prev.setDataEncoding("UTF-8");
byte[] result = prev.getResponseData();
String fileName = "e:/aa/${__V(title_${num})}.jpg";
File file = new File(fileName);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();
其中,fileName 變數表示,將要保存的路徑和檔案名,

最后,E:\aa 檔案夾準備好,點擊工具列 全部清除 按鈕,然后點擊 綠三角,執行,
到檔案夾下查看圖片吧,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/727.html
標籤:其他
