...
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 \[http://jakarta.apache.org/jmeter/usermanual/functions.html#__jexl Jexl\]: Wiki Markup
No Format |
---|
${__jexl(vars.get("ESCAPED_URL").replace("&"\,"&"))}
|
Using \[http://jakarta.apache.org/jmeter/usermanual/functions.html#__BeanShell BeanShell\]: Wiki Markup
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 -> :N.B. the current release of JMeter already contains the fixAmps() function in the file BeanShellFunction.bshrc.