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