简体   繁体   English

使用jsr223将JavaScript函数添加到jMeter

[英]Adding javascript function to jMeter using jsr223

I am trying to get a javascript function work with jMeter test plan uing JSR223. 我正在尝试使用JSR223将jMeter测试计划与javascript函数一起使用。 It is used to decode a string. 它用于解码字符串。 I have the below two functions which i need to implement in jmeter: 我有以下两个功能需要在jmeter中实现:

function AESEncryption(text, passphase, bytessize) {

var key = CryptoJS.enc.Utf8.parse('ABCDEFGHIJKL1234567891234');
var iv = CryptoJS.enc.Utf8.parse('1234567890123456');
var blocksize = bytessize / 2;
var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(text), passphase, key,
{
    keySize: bytessize,
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
});
var dta = String(encrypted);
return dta;}


function AESDecryption(text, key, bytessize) {
try {
    //alert(text + ":" + key + ":" + bytessize);
    var e = CryptoJS.AES.decrypt(text, key, bytessize);
    //alert("Ec:" + e);
    return CryptoJS.AES.decrypt(text, key, bytessize).toString(CryptoJS.enc.Utf8);
}
catch (Error) {
    return "";}}

You can import external JavaScript into JSR223 Sampler using load directive. 您可以使用load指令将外部JavaScript导入JSR223 Sampler。

  1. Download latest release of crypto-js from https://github.com/brix/crypto-js/releases (I used 3.1.9) and unpack it to JMeter's "bin" folder https://github.com/brix/crypto-js/releases下载最新版本的crypto-js(我使用3.1.9)并将其解压缩到JMeter的“ bin”文件夹中
  2. Add the next line to the beginning of your JSR223 script: 将下一行添加到JSR223脚本的开头:

     load('crypto-js-3.1.9/crypto-js.js'); 
  3. You should be able to access your JavaScript functions directly in the JSR223 Sampler 您应该能够直接在JSR223 Sampler中访问JavaScript函数。

    JSR223 JavaScript


Be aware that JavaScript being interpreted via Rhino/Nashorn has serious performance drawbacks therefore if you are planning to call this funciton by many threads it makes more sense to rewrite your functions in Groovy . 请注意,通过Rhino / Nashorn解释的JavaScript具有严重的性能缺陷,因此,如果您打算通过许多线程调用此函数,则在Groovy中重写函数会更有意义。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 JMeter Javascript 语言不适用于 JSR223 Sampler 和 WebDriver Sampler - JMeter Javascript language not available for JSR223 Sampler and WebDriver Sampler 在使用 JMeter 工具进行性能测试期间 - 无法在 JSR223 和 hybrid-crypto.js 中使用 javascript 加密输入值 - During performance testing using JMeter Tool - Not able to encrypt the input values using javascript in JSR223 and hybrid-crypto.js 使用JSR223断言写入文件 - Write to a file using JSR223 Assertion 如何使用 JSR223 PreProcessor 使用 jmeter 捕获 cookie 值? - How to capture cookie value using JSR223 PreProcessor using jmeter? 使用 Jmeter 设置规则自定义 JSR223 断言和验证响应 - set rule custom JSR223 Assertion and validate response using Jmeter JMeter-在JSR223 / BeanShell采样器中调用HTTP采样器 - JMeter - Calling HTTP samplers in JSR223/BeanShell samplers 使用JSR223调用重载静态方法时发生异常 - Exception when calling overloaded static method using JSR223 JMeter JSR 223语言js与javascript - JMeter JSR 223 language js Vs javascript JSR223 Javascript中的回调,Oracle JRE 1.6和OpenJDK 1.6之间的区别(比如安装在Debian上) - Callbacks in JSR223 Javascript, difference between Oracle JRE 1.6 and OpenJDK 1.6 (as installed on, say, Debian) 我可以在Oracle JDK7 JSR223 JavaScript引擎中扩展Java类吗? - Can I extend a Java class in Oracle's JDK7 JSR223 JavaScript engine?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM