2011-06-16 161 views
0

使用loadrunner加载测试时,我的所有虚拟用户都在30分钟后从应用程序中注销。仔细查看,即使我们有持续的用户活动,认证cookie也会过期。LoadRunner表单身份验证Cookie已过期

现在我们试图在每个操作后显式更新cookie以防止到期,但不确定服务器如何识别身份验证cookie已过期。该cookie只有加密文本,没有明确的标题提及到期时间。

cookie中的哪些信息应该在认证cookie中更新以防止其过期?

的Cookie信息:

的Cookie:

.ASPXAUTH = 66DD4AB74239F00D553BA9640D3AD3F284F47DEC315FD6789AE3FB8D67D2A46A4E89EDB45845C921A7557BD6B39A12EE07188D1009D581AA7AAF6743710653AE44EEF2733CC16082C595D7AE7C73D3E7E3D44BA1BAEEFEB1BF5F98B35C5F8429670FFDD5586E03BB3138C5B78945D82702BDD7C4; path = /; HttpOnly

回答

0

告诉我们你是如何管理脚本中的会话状态的。一般来说,如果您要清理所有Cookie并为每次迭代实例化新会话,则不应该遇到这种情况。如果您试图在整个测试期间保持某种单一的会话状态,我可以看到服务器在您的原始会话在技术上从系统中注销(作为业务流程的一部分)之后会如何将您踢出去。

另外,你的脚本中是否有明确的cookies?如果是这样,您可能需要考虑评论这些语句,因为LoadRunner会自动管理Cookie。作为刻录的一部分,考虑运行一个单独的虚拟用户30分钟到1小时,以查看您是否在单个虚拟用户级别上体验到这一点。对单个用户进行修复并进行加载预测要比试图找出数十个或数百个遇到类似问题的用户正在发生的事情要容易得多。

+0

我还没有明确处理我的脚本中的cookie,并认为Loadrunner会自动处理它们。 – Rajesh 2011-06-20 04:14:21

+0

我没有在脚本中明确地处理cookies,并认为Loadrunner会自动处理它们。这种特殊的身份验证表单cookie会在Vuser init操作中设置,每个用户只会调用一次。我不确定当用户在应用程序中执行操作时Cookie是如何重置的,或者当Vuser在Loadrunner中执行操作时cookie未获取更新的原因。在Vuser Init部分中设置的Cookie是否不会在每次迭代中更新?无论如何,我们可以捕获和关联表单cookie相关信息吗? – Rajesh 2011-06-20 05:10:30

+0

“在Vuser Init部分中设置Cookie是否不会在每次迭代中更新?”是的,vuser_init()仅在每个用户启动时执行一次,并且不会在每次迭代时再次执行。您可能想查看与调度和处理事件相关的使用vuser_init(),Action()和vuser_end()相关的文档部分。 – 2011-06-21 12:57:30

0

从我可以收集的服务器记录cookies的到期时间,它也是更新到期时间的服务器,这意味着您作为客户端无法控制这一点。

我认为流动是这样的:

The browser or LoadRunner Script will always send the cookie and the 
server then verifies it's expiry time on the server side, redirecting 
you to the login page if it has expired. 

我有这个发生在我身上,并通过服务器“更新客户端会话过期时间”上访问一个专门的页面来解决它。也许你有类似的情况?