在性能測試領域,Apache JMeter已經成為測試專業人士的首選工具,用于模擬用戶行為、測量響應時間、評估系統性能。但在某些情境下,為了滿足特定需求,我們需要更多的靈活性,比如引入Python來進行特定操作或處理復雜邏輯。
Jython是Python語言的Java實現,它允許您在JMeter中使用Python腳本,不需要額外的JAR包。
(1) 官網下載地址:Downloads | Jython
(2) 網盤鏈接:downloads > Jython 提取碼:ux02
(3) 將下載的jar包放到Jmeter的安裝路徑/lib,如: D:/application/apache-jmeter-5.1.1/lib
() 切記,重啟 jmeter
新增一個JSR223,選擇語言為“jython”;
注意:由于這個包使用的python版本為 2.7,所以寫代碼的時候不能全搬python3的語法過來玩。
# jsr223 前置代碼中編寫:"""該腳本用于加密登錄信息"""import hashlibimport sysimport timeimport jsondef password_srt(pubkey, password): time_str = str(time.time()) sign_str = str(pubkey) + time_str + str(password) sign = hashlib.md5(sign_str.encode('utf-8')).hexdigest() res = {'sign': sign, 'pubkey': pubkey, 'password': password} res = json.dumps(res) return resresult = password_srt(1234,5678)log.info(result)vars.put("secrity",result) # 設置到變量,為后續取樣器使用。
貼圖:
# jsr223 后置腳本代碼import jsonresult = prev.getResponseDataAsString(); # 固定寫法,獲取響應結果log.info("------"+result) # 這里使用print 會打印不到日志里面來顯示。json_data = json.loads(result) # 轉python識別的字典對象token = json_data.get("token") # 獲取token值log.info(token)vars.put("token",token)
貼圖:
添加一個debug sample來檢查結果:
最終執行結果:
一些小Tips:
本文鏈接:http://www.tebozhan.com/showinfo-26-10430-0.htmlJMeter與Python的多重交響:從入門到高級應用(上)
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com