【发布时间】:2021-09-06 11:13:43
【问题描述】:
我必须在 Jmeter 中捕获 SAML 响应。使用正则表达式提取器捕获后,Jmeter 会自动将“=”的值更改为“%3D”。 “+”符号保持不变。 URL 编码选项也被禁用。 我尝试在 Beanshell 预处理器中使用替换功能。我无法成功地做到这一点。 请帮我解决问题。
【问题讨论】:
-
请提供足够的代码,以便其他人更好地理解或重现问题。
我必须在 Jmeter 中捕获 SAML 响应。使用正则表达式提取器捕获后,Jmeter 会自动将“=”的值更改为“%3D”。 “+”符号保持不变。 URL 编码选项也被禁用。 我尝试在 Beanshell 预处理器中使用替换功能。我无法成功地做到这一点。 请帮我解决问题。
【问题讨论】:
SAML 是一种基于 XML 的标记语言,用于安全断言(服务提供商用来做出访问控制决策的语句)。
鉴于它是 XML,因此使用 XPath2 Extractor 进行关联更有意义,这可以解决您的问题
Since JMeter 3.1 you're supposed to be using JSR223 Test Elements and Groovy language 用于脚本,所以如果即使在使用 XPath2 Extractor 后问题仍然存在,您可以尝试以下代码 sn-p:
vars.put('foo', java.net.URLDecoder.decode(vars.get('foo')))
将 foo 替换为 XPath2 提取器中的实际 JMeter 变量名称
演示:
【讨论】: