【问题标题】:Unable to capture variables in SAML SSO response body无法在 SAML SSO 响应正文中捕获变量
【发布时间】:2015-10-01 20:17:46
【问题描述】:

我必须从以下响应正文中捕获“RelayState”和“SAMLResponse”值。但是当我尝试遵循 xPath 表达式时,它并没有捕获这些值。是否有解决方法来捕获这些变量以在 Jmeter 脚本中使用?还是我做错了什么?

使用的 Xpath 查询:-

//input[@type='hidden'][@name='RelayState']/@value
//input[@type='hidden'][@name='SAMLResponse']/@value

响应正文

<form method='post' action='localhost:9443/store/acs'>; <p> <!--$params--> <input type='hidden' name='RelayState' value='%2Fstore%2Fpages%2Fgc-landing'> <input type='hidden' name='SAMLResponse' value='PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHNhbWwycDpSZXNwb25zZ‌​SBEZXN0aW5hdGlvbj0iaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9Xh0Q2xhc3NSZWY+PC9zYW1sMjpBdXRo‌​bkNvbnRleHQ+PC9zYW1sMjpBdXRoblN0YXRlbWVudD48L3NhbWwyOkFzc2VydGlvbj48L3NhbWwycDpSZ‌​XNwb25zZT4='> <!--$additionalParams--> <button type='submit'>POST</button></p></form> 

【问题讨论】:

标签: html xpath single-sign-on saml


【解决方案1】:

您尝试过正则表达式提取器吗?

后处理器 -> 正则表达式提取器:http://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor

并使用下面的正则表达式获取“RelayState”和“SAMLResponse”的值

name='RelayState' value='([^"]+)'
name='SAMLResponse' value='([^"]+)'

【讨论】:

【解决方案2】:

尽管有人说正则表达式提取器与 xpath 相比,我更喜欢使用正则表达式,因为它对整体测试执行的影响较小。您可以在未转义的正文上应用这样的正则表达式来获取这些值:

name=\"SAMLResponse\" value=\"([^"]+)\"

【讨论】:

    猜你喜欢
    • 2017-08-21
    • 1970-01-01
    • 2022-09-30
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多