2016-10-04 82 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!指南以获取更多信息和脚本编写最佳实践。