2015-10-01 2 views
1

Мне нужно зафиксировать значения RelayState и SAMLResponse из следующего тела ответа. Но это не захватывает эти значения, когда я пытаюсь выполнить выражения xPath. Есть ли способ обхода этой переменной для использования в сценарии Jmeter? Или я делаю что-то неправильно?Невозможно захватить переменные в теле ответа SSO SSO

Xpath Использовано запросов: -

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

Response Body

<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> 

ответ

1

Пытались ли вы с использованием регулярных выражений Extractor?

постпроцессоры -> Regular Expression Extractor: http://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor

и использовать ниже регулярное выражение, чтобы получить значения для 'RelayState' и 'SAMLResponse'

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

Несмотря на то, что некоторые люди говорят о регулярных выражений экстракторов против xpath, я предпочитаю использовать регулярное выражение, поскольку оно оказывает меньшее влияние на общее выполнение теста. Вы можете применить регулярное выражение, подобное этому на неэкранированном теле, чтобы получить эти значения:

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