【发布时间】:2016-02-04 13:55:58
【问题描述】:
我需要在请求中传递一个参数(URL 的一部分),例如:
"S;4;163;1;O;rAghjgjU="
但是这个值被提取为这样的正则表达式:
"S%3B4%3B163%3B1%3BO%3BrAghjgjU%3D"
我想使用 BeanShell 来解码 URL。
【问题讨论】:
标签: regex performance jmeter performance-testing beanshell
我需要在请求中传递一个参数(URL 的一部分),例如:
"S;4;163;1;O;rAghjgjU="
但是这个值被提取为这样的正则表达式:
"S%3B4%3B163%3B1%3BO%3BrAghjgjU%3D"
我想使用 BeanShell 来解码 URL。
【问题讨论】:
标签: regex performance jmeter performance-testing beanshell
JMeter 提供了__urldecode() 函数,所以如果你像这样使用它:
${__urldecode(S%3B4%3B163%3B1%3BO%3BrAghjgjU%3D)}
您将获得所需的值。
如果您仍然想使用 Beanshell,可以调用 URLDecoder.decode(); 方法,例如:
String decoded = URLDecoder.decode("S%3B4%3B163%3B1%3BO%3BrAghjgjU%3D", "UTF-8");
还有__Beanshell()函数允许执行任意Beanshell脚本,调用它像:
${__BeanShell(URLDecoder.decode("S%3B4%3B163%3B1%3BO%3BrAghjgjU%3D"\, "UTF-8"),)}
有关 JMeter 中 Beanshell 脚本的更多信息,请参阅 How to Use BeanShell: JMeter's Favorite Built-in Component,特别注意如何从 Beanshell 脚本中调用 Java 和 JMeter API 类。
【讨论】: