Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

As of JMeter 2.3.1 there is no automatic way of handling this, however there are some work-rounds. Assume that the URL is stored in the variable ESCAPED_URL.

Using Jexl:

No Format

${__jexl(vars.get("ESCAPED_URL").replace("&"\,"&"))}

...

Set the JMeter property beanshell.function.init to point to a file; add the following definition to the file:

No Format

// Fix ampersands in a string
String fixAmps(s) {
  return s.replaceAll("&","&");
}

...





Note

the current release of JMeter already contains the

...

fixAmps()

...

function

...

in

...

the

...

file

...

BeanShellFunction.bshrc

...

The function can then be called as follows:

No Format

${__BeanShell(fixAmps(vars.get("ESCAPED_URL"))}

or

Code Block

${__BeanShell(fixAmps(vars.get("ESCAPED_URL"),PLAIN_URL)}


The latter function call will store the result in the variable PLAIN_URL The work-rounds above can be extended to handle other transformations such as %20 -> space, %2F -> / and %3A -> :