溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Jmeter如何通過OS進(jìn)程取樣器調(diào)用Python腳本實(shí)現(xiàn)參數(shù)互傳

發(fā)布時(shí)間:2022-03-24 11:06:53 來源:億速云 閱讀:590 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了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ù):

Jmeter如何通過OS進(jìn)程取樣器調(diào)用Python腳本實(shí)現(xiàn)參數(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ù))】。

Jmeter如何通過OS進(jìn)程取樣器調(diào)用Python腳本實(shí)現(xiàn)參數(shù)互傳

3.通過JMeter的OS Process Sampler組件讀取批處理文件,其實(shí)就是執(zhí)行編寫的python腳本。

(1)通過以下路徑在jmeter中添加【OS進(jìn)程取樣器】:

Jmeter如何通過OS進(jìn)程取樣器調(diào)用Python腳本實(shí)現(xiàn)參數(shù)互傳

(2)①在【命令】輸入框中填入.bat文件的路徑,比如:E:\python_project\Python-Auto\python_jmeter\jmeter_os_process.bat

②在【命令行參數(shù)】添加【值】,根據(jù)這里傳幾個(gè)值,.bat文件就需要填傳入幾個(gè)值,比如兩個(gè)為%1 %2

③【命令行參數(shù)】添加【值】的,可以使用變量,比如引用jmeter參數(shù)化的變量;

Jmeter如何通過OS進(jìn)程取樣器調(diào)用Python腳本實(shí)現(xiàn)參數(shù)互傳

4、使用【正則表達(dá)式提取器】對(duì)python腳本中打印出來的參數(shù)進(jìn)行提取,以供jmeter使用。(一個(gè)正則表達(dá)式提取器只能提取一個(gè)參數(shù),要提取多個(gè)參數(shù)可以使用多個(gè)提取器)

Jmeter如何通過OS進(jìn)程取樣器調(diào)用Python腳本實(shí)現(xiàn)參數(shù)互傳

 5、比如在接口請(qǐng)求中使用提取到的參數(shù):

Jmeter如何通過OS進(jìn)程取樣器調(diào)用Python腳本實(shí)現(xiàn)參數(shù)互傳

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Jmeter如何通過OS進(jìn)程取樣器調(diào)用Python腳本實(shí)現(xiàn)參數(shù)互傳”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(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)容。

AI