通過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-standaloneXXX.JAR
把下載的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)
也可以返回自定義的結果
以上就是通過Jython調用Python腳本的詳細內容,更多關於Jython調用Python腳本的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- 詳解Jmeter中的BeanShell腳本
- Jmeter測試時遇到的各種亂碼問題及解決
- 全網最全最細的jmeter接口測試教程以及接口測試流程(入門教程)
- jmeter執行python腳本的實現示例
- 使用Jmeter進行http接口測試的實踐