2016-10-04 106 views
0

在我的jmeter腳本中,我使用正則表達式提取器提取會話密鑰。我想在jruby JSR223預處理器中使用這個提取的變量。我有我的JRuby腳本的一部分,我希望把提取的變量$ {鍵}進入關鍵Jmeter變量用於jruby預處理器

鍵= $ JRuby的變量{鍵}

我需要把exctracted會話密鑰到關鍵變量。在ruby腳本中失敗了。任何人都知道我需要在紅寶石拉入提取的變量?

+0

我正在閱讀JMeter的文檔。你有沒有嘗試類似_vars.get(「VAR1」)的語法; vars.put( 「VAR2」, 「值」); vars.remove(「VAR3」); _? – blackpen

回答

0

根據我的Ruby的基礎知識,並大多以Calling Java from JRuby引導你的代碼應該是這個樣子:

key = org.apache.jmeter.threads.JMeterContextService.getContext().getVariables().get("key") 

以防萬一你要一點點擴展版:

# Declare shorthands to JMeter API methods 
vars = org.apache.jmeter.threads.JMeterContextService.getContext().getVariables() 
log = org.apache.jorphan.logging.LoggingManager.getLoggerForClass() 

# Get the value of key JMeter Variable and put it into key Ruby variable 
key = vars.get("key") 
# Print key variable to jmeter.log file 
log.info("key=" + key) 

JRuby accessing Variables


請注意,如果您計劃要使用該腳本,您正在努力進行高負載,最好重新考慮腳本語言的選擇。建議使用Groovy語言。開發良好的Groovy腳本可以編譯爲字節碼,而用其他語言編寫的腳本則可以解釋。查看Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!指南以獲取更多信息和腳本編寫最佳實踐。