我需要登录jsf页面。但是,当我尝试提取ViewState值时,它无法正常工作。
ViewState输入字段如下所示:
<input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="-2660902297226015539:-7257444434252784696" autocomplete="off" />
我使用带有以下查询的XPath Extractor:
//input[@id='javax.faces.ViewState']/@value
Login请求中的ViewState参数如下所示:
测试计划如下:
但是当我发送POST数据时看起来像这样:
POST data:
j_idt52=j_idt52&j_idt52%3Aj_idt53%3Aj_idt78%3AloginUsername%3AinputField=XXXXX&
j_idt52%3Aj_idt53%3Aj_idt78%3AloginPassword%3AinputSecretField=XXXXXX&
j_idt52%3Aj_idt53%3Aj_idt78%3AloginSend=Login&j_idt52%3Aj_idt53%
3Aj_idt78_active=0&javax.faces.ViewState=
它不会插入ViewState。
我还尝试将Regular Expressions Exctrator与以下表达式一起使用:
<input type="hidden" name="javax\.faces\.ViewState" id="javax\.faces\.ViewState" value="(\w+?)"
然后POST数据如下所示:
POST data:
j_idt52=j_idt52&j_idt52%3Aj_idt53%3Aj_idt78%3AloginUsername%3AinputField=XXXXXX
&j_idt52%3Aj_idt53%3Aj_idt78%3AloginPassword%3AinputSecretField=XXXXXX&
j_idt52%3Aj_idt53%3Aj_idt78%3AloginSend=Login&j_idt52%3Aj_idt53%
3Aj_idt78_active=0
&javax.faces.ViewState=%24%7BViewState%7D
编码参数是:
javax.faces.ViewState=${ViewState}
问题出在哪里?
答案 0 :(得分:0)
我找到了解决方案。我必须将XPath Extractor添加到HTTP请求中,而不是在测试计划屏幕截图中看到。