使用jsr223向jMeter添加javascript函数 [英] Adding javascript function to jMeter using jsr223
问题描述
我正在尝试使用JSR223的jMeter测试计划来获取一个JavaScript函数。
它用于解码字符串。
我有以下两个函数,我需要在jmeter中实现:
函数AESEncryption(文本,通过,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,
模式:CryptoJS.mode.CBC,
padding:CryptoJS.pad.Pkcs7
});
var dta = String(encrypted);
return dta;}
函数AESDecryption(文本,键,bytessize){
try {
// alert(text +:+键+:+ bytessize);
var e = CryptoJS.AES.decrypt(text,key,bytessize);
// alert(Ec:+ e);
return CryptoJS.AES.decrypt(text,key,bytessize).toString(CryptoJS.enc.Utf8);
}
catch(错误){
return;}}
您可以使用 load
指令将外部JavaScript导入JSR223 Sampler。
- 从
$ b请注意,通过Rhino / Nashorn解释的JavaScript具有严重的性能缺陷,因此如果您打算通过许多线程调用此功能,则在 Groovy 。
I am trying to get a javascript function work with jMeter test plan uing JSR223. It is used to decode a string. I have the below two functions which i need to implement in 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.
- 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
Add the next line to the beginning of your JSR223 script:
load('crypto-js-3.1.9/crypto-js.js');
You should be able to access your JavaScript functions directly in the JSR223 Sampler
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.
这篇关于使用jsr223向jMeter添加javascript函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!