无法在SAML SSO响应正文中捕获变量

时间:2015-10-01 20:17:46

标签: html xpath single-sign-on saml

我必须捕捉' 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> 

2 个答案:

答案 0 :(得分:1)

您是否尝试使用正则表达式提取器?

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

并使用正则表达式下方获取&#39; RelayState&#39;的值和&#39; SAMLResponse&#39;

            var group = new BsonDocument { { "_id", new BsonDocument 
                                         { 
                                             { "Month", new BsonDocument("$month", "$DateEntered") }, 
                                             { "Day", new BsonDocument("$dayOfMonth", "$DateEntered") }, 
                                             { "Year", new BsonDocument("$year", "$DateEntered") }, 
                                             { "Role", "$Role" }, 
                                         } 
                                         }, { "Count", new BsonDocument("$sum", 1) } };

答案 1 :(得分:0)

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

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