我有一个Web应用程序,它使用CAS Ticket进行用户身份验证,每次登录都不同。我在JMeter中录制了脚本。我还通过填写正则表达式提取器来关联页面,如下所示:
录制的脚本包含网址:https://foo.com/j_spring_cas_security_check?ticket=ST-3101-QDTyjbbHoOHvgPMdRBIg-cas
。
应用了以上所有内容后,我运行了脚本,但状态显示失败,显示https://foo.com/j_spring_cas_security_check?ticket=Ticket_Not_Found
。
如果有人能告诉我在我的剧本中遗漏了什么,那将会非常有帮助吗?
答案 0 :(得分:1)
有两种方法,
如果你有多个用户名和密码,你可以使用Jmeter, 您可以使用它们来生成CAS ST(服务票证)。
另: CAS创建票证时默认使用,可以只使用一次。
您必须更改cas服务器的ticketExpirationPolicies.xml中的值 多次使用同一张票。
默认位置是: WEB_INF /弹簧构型/ ticketExpirationPolicies.xml
如果您希望50个用户使用相同的票证,请将其更改为
<!-- This argument is the time a ticket can exist before its considered expired. -->
<constructor-arg
index="1"
value="100000" />
</bean>
<bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
<!-- This argument is the time a ticket can exist before its considered expired. -->
<constructor-arg
index="0"
value="7200000" />
</bean>
答案:VIVEK ADHIKARI
答案 1 :(得分:0)
从url的参数列表中获取票证值时似乎发生了错误。也许您可以在页面上添加隐藏字段并根据此参数设置其值。
<input type="hidden" id="ticket_key" value="ST-3101-QDTyjbbHoOHvgPMdRBIg-cas" />
然后你可以通过常规提取器获得它[
ticket_key=(.+)
希望它有所帮助。