Jmeter中的Cas Ticket问题

时间:2013-07-04 08:06:57

标签: regex jmeter performance-testing cas correlation

我有一个Web应用程序,它使用CAS Ticket进行用户身份验证,每次登录都不同。我在JMeter中录制了脚本。我还通过填写正则表达式提取器来关联页面,如下所示:

enter image description here

录制的脚本包含网址: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

如果有人能告诉我在我的剧本中遗漏了什么,那将会非常有帮助吗?

2 个答案:

答案 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=(.+)

希望它有所帮助。