我在 LoadRunner 中有一个脚本,我必须在其中登录电子商务应用程序、搜索产品、查看该产品的图像、将图像文件下载到系统中,然后注销。我必须在多次迭代中参数化 - 保存文件路径 - 并关联相同的内容以及在控制台中打印它。我已经录制了脚本,它被重播,没有任何错误。现在我陷入困境的是我无法在录制的脚本中找到保存的文件路径。我猜这是因为保存路径窗口是win32格式的。我正在使用 11.52 版的 http/web 协议和 loadrunner。 米沙尔
问问题
1165 次
1 回答
0
您不应该期望在测试期间保存您的文件。它可能作为 HTTP 流的一部分下载,因此受虚拟用户的日志记录设置的影响。
HTTP 虚拟用户位于 OSI 第 7 层的底部。您的文件保存/另存为对话框位于第 7 层的顶部。您不应期望在脚本中看到与您正在播放的 OSI 不同层相关的任何内容。
如果您想要实际的文件内容,则需要执行以下操作。
- 将 HTTP 中的整个文件下载流关联到关联变量
- 使用您的虚拟用户的语言(可能是 web 类型的几种语言之一),打开一个文件并将变量的内容写入文件
- 关闭文件
- 在测试结束时,查看文件的保存位置。
请注意,以上内容会将负载生成器上的本地磁盘子系统变成每个在机器上运行的虚拟用户的瓶颈。I/O 的优先级高于任何应用程序对 CPU 的需求,并且通过对磁盘子系统要求高 I/O,您将窃取机箱上运行的应用程序的 CPU。请参阅有关 CPU、Ring 0 和 Ring 3 的应用程序和系统组件的概念,了解英特尔操作系统的概念以及硬件中断与软件中断的优先级。
在大多数情况下,验证文件头和文件脚都是下载流的一部分并且文件具有与之关联的最小大小就足够了。您可以使用 web_reg_find() 搜索页眉和页脚的标签,并检查上次下载大小以检查最小文件大小。然后,这提供了一种验证文件是否已“下载”的方法,即使没有将文件存储在日志中或作为磁盘上的单独文件并导致负载生成器出现性能问题。
于 2014-04-23T13:09:23.390 回答