Loadrunner中cookie解释与用法

时间:2023-01-31 19:41:58

loadrunner对于cookie的处理
loadrunner中与cookie处理相关的常用函数如下:


web_add_cookie():添加新的cookie或者修改已经存在的cookie
web_remove_cookie():删除指定的cookie
web_cleanup_cookies():删除所有被Vuser保存的cookie
web_reg_add_cookie(): 如果找到某些特定文字,则添加到cookie中



loadrunner中cookie处理的经典问答:


问题1:当录制 Vuser 脚本时,VuGen 处理 Cookie 吗? 
VuGen 会自动处理所有通过 HTTP 标头设置的 Cookie。但是,VuGen 无法始终正确地处理由 JavaScript 或 <meta-> 标记设置的 Cookie。


问题2:当运行 Web Vuser 脚本时,Vuser 会重新使用在录制 Vuser 脚本时使用过的相同 Cookie 吗? 
可能会,也可能不会,这取决于 Cookie 的类型。


Cookies 可以分成两种类别:永久 Cookie 和会话 Cookie: 
永久 Cookie:向 Web 服务器标识您的身份并且在有限的时间段内有效的纯文本字符串。永久 Cookie 存储在硬盘上。 
会话 Cookie:仅在当前访问(会话)期间向 Web 服务器标识您的身份的纯文本字符串。会话 Cookie 不会存储在硬盘上。 


当录制 Web Vuser 脚本时,VuGen 会检测发送到浏览器的所有 Cookie。
VuGen 会按如下方式区分永久 Cookie 和会话 Cookie: 
永久 Cookie:VuGen 将永久 Cookie 的详细信息直接录制成 Vuser 脚本。VuGen 使用 web_add_cookie 将永久 Cookie 包括在 Vuser 脚本中。当运行 Vuser 脚本时,Vuser 会根据需要使用这些永久 Cookie。 
会话 Cookie:VuGen 不保存在录制会话期间所使用的会话 Cookie。而是在录制时缓存会话 Cookie,然后在停止录制时丢弃它们。 


当运行 Vuser 脚本时,Vuser 使用从 Web 服务器接收的新会话 Cookie。即,Vuser 不会重新使用在录制脚本时生成的相同会话 Cookie。这些会话 Cookie 存储在 Vuser Cookie 缓存中,然后在 Vuser 停止时被丢弃。Vuser 不会保存这些会话 Cookie。 


问题3:每个 Vuser 都有其自己唯一的 Cookie 缓存吗? 
是的,每个 Vuser 都有其自己唯一的 Cookie 缓存 - 会话 Cookie 不共享,即使 Vuser 在同一负载生成器上运行。 


问题4:在运行脚本之前,必须在录制的 Vuser 脚本中将 Cookie 参数化吗? 
有时需要。在录制脚本时,VuGen 会将永久 Cookie 复制到 Vuser 脚本中。当运行 Vuser 脚本时,Vuser 会使用所录制的永久 Cookie。如果每个 Vuser 都需要唯一的永久 Cookie,那么您需要在 Vuser 脚本中将 Cookie 参数化。