2017-01-18 15 views
0

Я пытаюсь получить функцию javascript с помощью jMeter-плана тестирования uing JSR223. Используется для декодирования строки. У меня есть следующие две функции, которые мне нужно реализовать в JMeter:Добавление функции javascript в jMeter с помощью jsr223

function AESEncryption(text, passphase, bytessize) { 

var key = CryptoJS.enc.Utf8.parse('ABCDEFGHIJKL1234567891234'); 
var iv = CryptoJS.enc.Utf8.parse('123456789'); 
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 "";}} 
+0

попробуйте ответить здесь http://stackoverflow.com/a/35607619/2575259 –

ответ

2

Вы можете импортировать внешний JavaScript в JSR223 Sampler с помощью load директивы.

  1. Скачать последний релиз крипто-Js из https://github.com/brix/crypto-js/releases (я использовал 3.1.9) и распаковать его в папку JMeter в «БИН»
  2. Добавьте следующую строку в начале вашего скрипта JSR223:

    load('crypto-js-3.1.9/crypto-js.js'); 
    
  3. Вы должны быть в состоянии получить доступ к функции JavaScript непосредственно в JSR223 Sampler

    JSR223 JavaScript


Имейте в виде, что JavaScript интерпретируется с помощью Rhino/Nashorn имеет серьезные недостатки производительности поэтому, если вы планируете назвать эту Funciton многими нитей, что делает больше смысла переписывать свои функции в Groovy.