網站首頁 編程語言 正文
1、在線程組中按以下方式添加【BeanShell取樣器】:
2、把以下這段代碼放到【BeanShell取樣器】的腳本區域:
?注意點:
- (1)命令里的Python腳本路徑改成自己腳本的路徑,-t后面是填需要傳入Python腳本的參數,可傳入jmeter的變量,也可以傳多個參數。
- (2)定義Jmeter中引用的變量名,記得這個變量名,后面jmeter調用時可用到。
import java.io.BufferedReader; import java.io.InputStreamReader; ? // 1. 命令里的路徑改成自己腳本的路徑,-t后面是填需要傳入Python腳本的參數,可傳入jmeter的變量。 String command = "cmd /c python E://python_project//Python-Auto//python_jmeter//zbg_password_rsa.py ?-t ${pubKey}"; ? String var; Runtime rt = Runtime.getRuntime(); Process pr = rt.exec(command); ? pr.waitFor(); ? BufferedReader b = new BufferedReader(new InputStreamReader(pr.getInputStream())); String line = ""; StringBuilder response = new StringBuilder(); while ((line = b.readLine()) != null) { ? ? response.append(line); ? }? String response_data = response.toString(); ? System.out.println(response_data); b.close(); ? var = response.toString(); ? // 2. 定義Jmeter中引用的變量名,jmeter后面可以直接使用${變量名}調用變量; vars.put("password_str",var); ? //把var打印到jmeter.log的日志中,有需要可以把下方代碼加上 //log.info(var);
如下圖所示:
3、在Python中需要以下代碼去獲取jmeter傳入的值,經過Python處理后,在使用打印功能傳給jmeter(BeanShell取樣器腳本中的Java代碼作用就是接受Python腳本傳過來的值,并轉化為jmeter可直接調用的變量)。
import argparse # 獲取jmeter傳入的值,然后賦值給變量ticket,變量即可為Python調用 parser = argparse.ArgumentParser() parser.add_argument("-t", "--ticket", help="這是ticket") args = parser.parse_args() ticket = args.ticket #print('你輸入的值:{}'.format(ticket)) ? # 這是Python腳本處理過程代碼,省略 ? # 最后Python把處理好的值傳給jmeter,就是直接打印即可 print('這里填需要傳給jmeter的值')
原文鏈接:https://blog.csdn.net/jarthong/article/details/123674717
相關推薦
- 2022-05-12 van-checkbox 全選,解決單個點擊后會取消全部的問題
- 2022-12-25 python字典中items()函數用法實例_python
- 2022-06-12 C語言棧與隊列相互實現詳解_C 語言
- 2022-07-11 MongoDB使用正則匹配、修改內容
- 2022-12-10 Input系統之InputReader處理合成事件詳解_Android
- 2022-12-09 Opencv中的cv2.calcHist()函數的作用及返回值說明_python
- 2022-05-06 Matplotlib安裝與配置
- 2022-06-16 Zabbix自定義腳本監控nginx以及微信告警的全過程_zabbix
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支