[英]How to call the javascript variable in JSON header for JMETER
[英]How to call a javaScript function in Beanshell in Jmeter
我正在使用Jmeter进行测试,并且我必须编辑通过正则表达式提取的特定变量,并且尝试使用Beanshell中的javaScript编辑该变量。 首先,我想知道是否可以直接在Beanshell中公开javascript,然后我如何才能调用JavaScript函数。 例如下面的代码。
var passwd = "abcd@123";
var newpasswd = "";
var ranVal= "ABCDEF";
function SaveClick(){
print("BBBBB");
document.write("<h3>Final Encripted Password : </h3>", newpasswd);
//document.write(newpasswd);
}
您不能混合使用Beanshell和javascript。
但是要使用完整的javascript,请使用Jsr223元素并选择javascript。
请注意,您将需要内联函数代码,因为不可能在element之外调用函数。
无论如何,Javascript无法让您访问DOM,因此您尝试使用document.write进行的操作将不起作用。
您可以使用具有多种脚本语言的BSF后处理器,javascript是其中之一。
http://jmeter.apache.org/usermanual/component_reference.html#BSF_PostProcessor以下是我的一个测试计划中的示例javascript。 注意使用eval,putObject,put,log等。
log.info("processing image index response");
if ("" != prev.getResponseDataAsString()) {
eval( 'var indexJSON = ' + prev.getResponseDataAsString() );
vars.putObject("indexJSON", indexJSON);
vars.put("currentThumb", "0");
vars.put("currentSlide", "0");
var next_slide_timestamp=indexJSON[0].timestamp;
vars.put("next_slide_timestamp", "0");
var maxSlides=indexJSON.length;
vars.put("maxSlides", maxSlides);
} else {
vars.put("currentThumb", "0");
vars.put("currentSlide", "0");
vars.put("next_slide_timestamp", "0");
vars.put("maxSlides", "0");
log.info("index time : empty response , setting defaults to zero");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.