您好,登錄后才能下訂單哦!
這篇文章主要介紹了Jmeter如何通過OS進程取樣器調用Python腳本實現參數互傳,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1、 Python中 sys.argv的用法解釋:sys.argv可以讓python腳本從程序外部獲取參數,sys.argv是一個列表,可用[]提取其中的元素,其第一個元素是程序本身,隨后才依次是外部給予的參數,可以接受多個參數,每個參數用空格隔開即可。
'''該腳本用于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中對其相關參數進行提取。 print(res) return res if __name__ == '__main__': password_srt(parameter[1], parameter[2])
比如在cmd中調用上面的Python腳本并傳入兩個參數:
注意:腳本中print()的內容都可被jmeter接收,可以在jmeter中使用正則表達式提取器對相關參數進行提取。
2、新增一個.bat文件,具體命令內容:python E:\python_project\Python-Auto\python_jmeter\jmeter_os_process.py %1 %2
【%1 %2表示將2個參數傳遞給python文件(或者使用%1 %1 也是表示傳兩個參數)】。
3.通過JMeter的OS Process Sampler
組件讀取批處理文件,其實就是執行編寫的python腳本。
(1)通過以下路徑在jmeter中添加【OS進程取樣器】:
(2)①在【命令】輸入框中填入.bat文件的路徑,比如:E:\python_project\Python-Auto\python_jmeter\jmeter_os_process.bat
②在【命令行參數】添加【值】,根據這里傳幾個值,.bat文件就需要填傳入幾個值,比如兩個為%1 %2
③【命令行參數】添加【值】的,可以使用變量,比如引用jmeter參數化的變量;
4、使用【正則表達式提取器】對python腳本中打印出來的參數進行提取,以供jmeter使用。(一個正則表達式提取器只能提取一個參數,要提取多個參數可以使用多個提取器)
5、比如在接口請求中使用提取到的參數:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Jmeter如何通過OS進程取樣器調用Python腳本實現參數互傳”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。