Regex 用Jmeter发出Cas票证
我有一个web应用程序,它使用CAS票证进行用户身份验证,每个登录都不同。我用JMeter记录了脚本。此外,我还通过填充正则表达式提取器来关联页面,如下所示:Regex 用Jmeter发出Cas票证,regex,jmeter,performance-testing,cas,correlation,Regex,Jmeter,Performance Testing,Cas,Correlation,我有一个web应用程序,它使用CAS票证进行用户身份验证,每个登录都不同。我用JMeter记录了脚本。此外,我还通过填充正则表达式提取器来关联页面,如下所示: <!-- This argument is the time a ticket can exist before its considered expired. --> <constructor-arg index="1" value="100000" /> <
<!-- 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>
<!-- 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>
录制的脚本具有url:https://foo.com/j_spring_cas_security_check?ticket=ST-3101 QDTyjbbHoOHvgPMdRBIg cas
<!-- 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>
应用以上所有内容后,我运行了脚本,但状态显示失败https://foo.com/j_spring_cas_security_check?ticket=Ticket_Not_Found
<!-- 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>
如果有人能告诉我我的剧本遗漏了什么,那将非常有帮助 有两种方法
<!-- 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>
如果您有多个用户名和密码,并且可以与Jmeter一起使用,
您可以使用这些来生成CAS ST(服务票证)
<!-- 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>
另一个:
默认情况下,CAS创建票证时,只能使用一次
<!-- 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>
您必须更改cas服务器的ticketExpirationPolicys.xml中的值
多次使用同一张票
<!-- 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>
默认位置为:
WEB\u INF/spring配置/ticketExpirationPolicys.xml
<!-- 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>
如果希望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>
<!-- 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从url的参数列表中获取票证值时似乎发生了错误。也许您可以在页面上添加一个隐藏字段,并根据此参数设置其值。
<!-- 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>
然后您可以通过常规提取器
ticket\u key=(.+)
希望能有所帮助。尝试使用正则表达式进行测试。不确定我们能为您提供什么帮助?我是说它应该怎么工作?你期待什么?@HamZa票据需要是动态的,因此对于每个登录,Jmeter都会获得不同的票据进行身份验证。因此,为了使票据动态化,我使用了正则表达式提取器,其中引用名称为“票据”。现在,无论脚本中的票证在何处使用,该引用名称都将用作变量。正则表达式字段有一个正则表达式,用于创建符合cas票证标准格式的随机票证。重新运行脚本后,我希望在请求代码中输入ticket=ST-3101-QDRyjffHoOHvgPMdRBIg-cas。@SuneetaSingh好的,尝试使用
ticket=(.+)
这将匹配到最后,因此我希望在ticket变量之后没有参数:)是否确保提取器处理正确的数据?(“要检查的响应字段”==URL?)
<!-- 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>