3

I am trying to get a javascript function work with jMeter test plan.
It is used to decode a string.

function decode(str) {
    var strtodecrypt = str.split("-");
    var msglength = strtodecrypt.length;
    decrypted_message = "";
    for (var position = 0; position < msglength; position++) {
        ascii_num_byte_to_decrypt = strtodecrypt[position];
        ascii_num_byte_to_decrypt = ascii_num_byte_to_decrypt / 2;
        ascii_num_byte_to_decrypt = ascii_num_byte_to_decrypt - 5;
        decrypted_byte = String.fromCharCode(ascii_num_byte_to_decrypt);
        decrypted_message += decrypted_byte;
    }
    return decrypted_message;
}

I have tried to use BSF Post processor, but don't know what is the exact syntax i need to use. I want to use this function to post a jMeter variable as a parameter in one of the HTTP request.

Edit: I am currently using following script in the BSF post processor. userResponse does not show in debub sampler. Do i need to add any reference to use String.fromCharCode(ascii_num_byte_to_decrypt)?

var str="142";
var strtodecrypt = str.split("-");
var msglength = strtodecrypt.length;
decrypted_message = "";

for (var position = 0; position < msglength; position++) {
    ascii_num_byte_to_decrypt = strtodecrypt[position];
    ascii_num_byte_to_decrypt = ascii_num_byte_to_decrypt / 2;
    ascii_num_byte_to_decrypt = ascii_num_byte_to_decrypt - 5;
    decrypted_byte = String.fromCharCode(ascii_num_byte_to_decrypt);
    decrypted_message += decrypted_byte;
}

vars.put("userResponse",decrypted_message);

3 Answers 3

5

You can try to use as well JSR223 Sampler with script language set to javascript (Language: JavaScript).
It will process your script (2nd version), variable set and available in debug Sampler results.

Sign up to request clarification or add additional context in comments.

Comments

0

You should WebDriver plugin for that. It can be configured as IE/Firefox/Chrome or even Selenium.

The documentation here

This is how you configure IE web driver

Comments

0

For anyone reading this years later:

Calling javascript function is possible from a BSF PostProcessor.

You need to define your function higher up in the file than where it is used.

This means this works:

function decode(str) {
    (...... do stuff......)
    return something;
}

var bar = decode("foo");
vars.put("someVariableName", bar);

However this doesn't work:

var bar = decode("foo"); // <--- Compile error, undefined function 'decode'
vars.put("someVariableName", bar);

function decode(str) {
    (...... do stuff......)
    return something;
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.