jmeter中用python實現(xiàn)請求參數(shù)的隨機方式
更新時間:2024年10月28日 09:16:19 作者:wjcaolinghua
首先,需下載Jython插件于https://www.jython.org/download后,將其放入JMeter的lib目錄并重啟JMeter,其次,添加JSR223PreProcessor并選擇Python作為語言,編寫腳本,其中metrics_ids3和metrics_weidu3為列表變量
jmeter用python實現(xiàn)請求參數(shù)的隨機
首先需要下載插件來讓jmeter支持python腳本
下載地址:https://www.jython.org/download
下載完成后放到j(luò)meter安裝目錄的lib文件夾下
放置完成后需要重啟jmeter
添加JSR223 PreProcessor,Language下拉框中多2項
選擇第一項
添加python腳本
腳本中metrics_ids3和metrics_weidu3的值為列表
import json import random # 原始的metrics id和維度列表 m***s_ids = ${metrics_ids3} m***s_weidus=${metrics_weidu3} # 生成隨機組合的函數(shù) def generate_random_combination(ids): return random.sample(ids, random.randint(1, len(ids))) # 生成隨機組合指標(biāo)和維度 chosen_m***s_ids = generate_random_combination(m***s_ids) chosen_m***s_weidus = generate_random_combination(m***s_weidus) # 將chosen_metrics_ids賦值給randomMet***s randomMet***Ids = chosen_met***s_ids randomWeidus= chosen_met***s_weidus # 打印到JMeter日志中(可選) #log_message = "Random Met***s IDs: " + str(randomMet***Ids) +" Random weidus:"+str(randomWeidus) ## 使用print語句在JMeter日志中輸出 #print(log_message) # 構(gòu)造整個請求體 body = { "chosenM***sIds": chosen_met***s_ids, "chosenD***Ids":[] , "timeP***tion": { "statTime": "m***", "beginTime": "202*-02", "endTime": "202*-01" }, "printSql": False, "pageNum": -1 } # 將整個body轉(zhuǎn)換為JSON格式的字符串 body_json = json.dumps(body) # 將body_json設(shè)置為JMeter變量 vars.put("requestBodyJson", body_json)
在http請求中添加
body${requestBodyJson}
添加View Results Tree,運行腳本,查看結(jié)果
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實現(xiàn)Socket.IO的在線游戲場景方式
本文介紹了Socket.IO的基本概念、應(yīng)用場景,并通過一個簡單的多人在線實時對戰(zhàn)游戲案例,展示了如何使用Python和Socket.IO庫實現(xiàn)實時通信,Socket.IO的核心是事件驅(qū)動模型,支持WebSocket協(xié)議,并在不支持的情況下回退到其他傳輸方式2025-01-01python時間日期函數(shù)與利用pandas進行時間序列處理詳解
python標(biāo)準(zhǔn)庫包含于日期(date)和時間(time)數(shù)據(jù)的數(shù)據(jù)類型,datetime、time以及calendar模塊會被經(jīng)常用到,而pandas則可以對時間進行序列化排序2018-03-03