0

在使用 loadrunner 进行负载测试时,我的所有虚拟用户都会在 30 分钟后从应用程序中注销。仔细查看后发现,即使我们有用户执行的连续活动,身份验证 cookie 也会过期。

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

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

饼干信息:

曲奇饼:

.ASPXAUTH=66DD4AB74239F00D553BA9640D3AD3F284F47DEC315FD6789AE3FB8D67D2A46A4E89EDB45845C921A7557BD6B39A12EE07188D1009D581AA7AAF6743710653AE44EEF2733CC16082C595D7AE7C73D3E7E3D44BA1BAEEFEB1BF5F98B35C5F8429670FFDD5586E03BB3138C5B78945D82702BDD7C4; 路径=/; HttpOnly

4

2 回答 2

0

据我所知,服务器会跟踪 cookie 的到期时间,它也是更新到期时间的服务器,这意味着您作为客户端无法控制这一点。

我假设流程是这样的:

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.

我遇到过这种情况,并通过访问服务器上“更新客户端会话到期时间”的特殊页面来解决它。也许你有类似的情况?

于 2011-07-07T10:42:45.797 回答
0

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

另外,您的脚本中是否有明确的 cookie?如果是这样,您可能需要考虑将这些语句注释掉,因为 LoadRunner 将自动管理 cookie。作为你的一部分,考虑运行一个单一的虚拟用户 30 分钟到一个小时,看看你是否在单个虚拟用户级别上体验到这一点。为单个用户修复然后投影到加载比尝试找出数十或数百个遇到类似问题的用户发生的事情要容易得多。

于 2011-06-16T13:30:02.320 回答