Javascript 如何在Jmeter中加载外部js库?

Javascript 如何在Jmeter中加载外部js库?,javascript,jmeter,aws-sdk,hmac,jsr223,Javascript,Jmeter,Aws Sdk,Hmac,Jsr223,我在jsr223采样器中有以下代码: var key = "key"; var dateStamp = "20160329T134359Z"; var regionName = "us-east-1"; var serviceName = "execute-api"; var kDate= Crypto.HMAC(Crypto.SHA256, dateStamp, "AWS4" + key, { asBytes: true}) var kRegion= Crypto.HMAC(Cr

我在jsr223采样器中有以下代码:

var key = "key";
var dateStamp = "20160329T134359Z";
var regionName = "us-east-1";
var serviceName = "execute-api";

   var kDate= Crypto.HMAC(Crypto.SHA256, dateStamp, "AWS4" + key, { asBytes: true})
   var kRegion= Crypto.HMAC(Crypto.SHA256, regionName, kDate, { asBytes: true });
   var kService=Crypto.HMAC(Crypto.SHA256, serviceName, kRegion, { asBytes: true });
   var kSigning= Crypto.HMAC(Crypto.SHA256, "aws4_request", kService, { asBytes: true });
   vars.put("AWSKey", kSigning);
现在,当我运行它时,会出现以下错误: 响应代码:500 响应消息:javax.script.ScriptException:sun.org.mozilla.javascript.internal.EcmaError:ReferenceError:“加密”未定义。(#6)在第6行

显然我没有加密库。然而,我不知道如何加载它们。我下载了所有相关的js,并将它们放在/lib文件夹中,但仍然一无所获。 我下载了这个文件: 它处理上面代码中的函数,但就我而言,我不知道如何导入它


TIA

如果您想使用JavaScript,有两个选项:

  • 使用Rhino
    load()
    方法,如:

    load(“crypto.js”)

  • 使用JavaScript中的类

    var rawhmac = org.apache.commons.codec.digest.HmacUtils.hmacSha1(key,data)
    var encoded = org.apache.commons.codec.binary.Base64.encodeBase64String(rawhmac)
    
  • 但是,我建议选择选项3-切换到“groovy”语言而不是JavaScript,这样您就可以:

    • 在测试中重复使用
    • 获得最大的性能和信心,因为可以在编译groovy脚本的同时解释其他语言,所以groovy实现将占用更少的资源,工作速度更快。有关更多详细信息,请参阅文章
    谢谢。我尝试了1和2,但仍然不起作用。您的示例url已损坏,是否可以重新发送?短暂性脑缺血发作