jmeter壓測學習38-通過Jython調用Python腳本


前言

前面在 BeanShell 里面是通過 java 腳本實現請求的預處理,jmeter里面也可以調用python的腳本,需安裝 jython.jar 的插件.
Jython 是 Python 的純 Java 實現。她無縫地結合了 Java 類與 Python,使用戶能以 Python 語言的語法編寫在 Java 虛擬機上運行的 軟件

Jpython

Jython 是 Python 的純 Java 實現。她無縫地結合了 Java 類與 Python,使用戶能以 Python 語言的語法編寫在 Java 虛擬機上運行的 軟件。
它的特點有:與相似的 Java 程序相比,Jython 極大的的減少了編程代碼量。Jython 同時擁有解釋器和編譯器,使其無需編譯就可以測試程序代碼。

官網下載地址:https://www.jython.org/download

下載 Jython Standalone 版本

把下載的Jython 的jar包放到 jmeter的lib文件夾。重啟jmeter

JSR223 Sampler

添加-取樣器-JSR223 Sampler

選擇 jython2.7 版本,在Script區域寫相應的代碼,注意這里的語法是支持python2.7的,3.x的語法不支持。


# 獲取jmeter 參數
user = vars.get("user")
print "hello"

# 輸出日志
log.info(u"獲取到的變量user:" + user)


# 設置響應信息
SampleResult.setResponseData("return message");
SampleResult.setResponseCode("502")
SampleResult.setSuccessful(False)

變量獲取與日志

前面定義了用戶變量 user, 變量的獲取依然用 vars.get('var name') 獲取。
這里print的內容無法輸出到屏幕,可以用log.info() 輸出日志內容

設置響應

通過SampleResult對象設置響應的結果

# 設置響應信息
SampleResult.setResponseData("return message");
SampleResult.setResponseCode("502")
SampleResult.setSuccessful(False)

也可以返回自定義的結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM