Jmeter通過OS進程取樣器調用Python腳本實現(xiàn)參數(shù)互傳
1、 Python中 sys.argv的用法解釋:sys.argv可以讓python腳本從程序外部獲取參數(shù),sys.argv是一個列表,可用[]提取其中的元素,其第一個元素是程序本身,隨后才依次是外部給予的參數(shù),可以接受多個參數(shù),每個參數(shù)用空格隔開即可。
'''該腳本用于jmeter的OS進程提取器的調用''' import hashlib import sys import time ? parameter = sys.argv # print(parameter, type(parameter)) ? def password_srt(pubkey, ?password): ? ? time_str = str(time.time()) ? ? sign_str = pubkey + time_str + password ? ? sign = hashlib.md5(sign_str.encode('utf-8')).hexdigest() ? ? res = {'sign': sign, 'pubkey': pubkey, 'password': password} ? ? # print()的內容可被jmeter接收,可以在jmeter中對其相關參數(shù)進行提取。 ? ? print(res) ? ? return res ? if __name__ == '__main__': ? ? password_srt(parameter[1], parameter[2])
比如在cmd中調用上面的Python腳本并傳入兩個參數(shù):
注意:腳本中print()的內容都可被jmeter接收,可以在jmeter中使用正則表達式提取器對相關參數(shù)進行提取。
2、新增一個.bat文件,具體命令內容:python E:\python_project\Python-Auto\python_jmeter\jmeter_os_process.py %1 %2
【%1 %2表示將2個參數(shù)傳遞給python文件(或者使用%1 %1 也是表示傳兩個參數(shù))】。
3.通過JMeter的OS Process Sampler
組件讀取批處理文件,其實就是執(zhí)行編寫的python腳本。
(1)通過以下路徑在jmeter中添加【OS進程取樣器】:
(2)①在【命令】輸入框中填入.bat文件的路徑,比如:E:\python_project\Python-Auto\python_jmeter\jmeter_os_process.bat
②在【命令行參數(shù)】添加【值】,根據(jù)這里傳幾個值,.bat文件就需要填傳入幾個值,比如兩個為%1 %2
③【命令行參數(shù)】添加【值】的,可以使用變量,比如引用jmeter參數(shù)化的變量;
4、使用【正則表達式提取器】對python腳本中打印出來的參數(shù)進行提取,以供jmeter使用。(一個正則表達式提取器只能提取一個參數(shù),要提取多個參數(shù)可以使用多個提取器)
5、比如在接口請求中使用提取到的參數(shù):
到此這篇關于Jmeter通過OS進程取樣器調用Python腳本實現(xiàn)參數(shù)互傳的文章就介紹到這了,更多相關Python腳本實現(xiàn)參數(shù)互傳內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python字典查找數(shù)據(jù)的5個基礎操作方法
Python字典是另一種可變容器模型,且可存儲任意類型對象,如字符串、數(shù)字、元組等其他容器模型,下面這篇文章主要給大家介紹了關于Python字典查找數(shù)據(jù)的5個基礎操作方法,需要的朋友可以參考下2022-06-06python 解析XML python模塊xml.dom解析xml實例代碼
這篇文章主要介紹了分享下python中使用模塊xml.dom解析xml文件的實例代碼,學習下python解析xml文件的方法,有需要的朋友參考下2014-02-02