每次在 Load Runner 中上传不同名称的相同文件

问题描述

我每次都需要在加载运行程序 HTTP/HTML 脚本中上传一个具有唯一文件名的 excel 文件。该文件必须存在于目录中。复制文件重命名它们将是更多的手动任务。谁能告诉我有没有自动方法来做到这一点?或者 Load Runner 本身可以执行这样的任务?谢谢。

解决方法

  1. 在您的每个负载生成器上,请确保您有一个用于文件 i/o 的 ram 驱动器以用于新文件。您的负载生成器上将有十个,也许数百个或数千个。您不希望物理硬盘驱动器的读/写磁头争用充当整个负载生成器性能的拖曳锚点。出于同样的原因,测试执行期间日志记录被最小化。
  2. 将基本文件作为虚拟用户的一部分包含
  3. 使用适当的语言 API 将文件从虚拟用户目录复制到具有新名称的虚拟用户生成器上的 ramdrive。它可能会推荐一个在末尾包含虚拟用户编号和迭代编号的名称,以确保您的虚拟用户群具有唯一性。
  4. 从 ramdrive 上传您的文件作为源
  5. 删除新创建的文件以返回与迭代开始时相同的初始条件。

由于您将为虚拟用户处理大量文件输入/输出,因此强烈建议您像监控被测应用程序一样监控负载生成器。如果您不熟悉 LoadRunner 和性能测试,那么这是您的导师/培训师指导您制定监控策略的绝佳机会。

,

假设上传是使用 html 表单完成的..

使用带有 FilePath 参数的 web_submit_data()。

但首先让我们创建一些参数以获得真正唯一的文件名(非常重要)

  • 创建一个参数 VUSERID,用于输出当前的 vuser id。 vuser_id param
  • 获取/保存当前时间戳 web_save_timestamp_param("TIMESTAMP",LAST);

这是请求:

web_submit_data("i1","Action=https://{LR_SERVER}/{LR_JUNCTION}/upload","Method=POST","EncType=multipart/form-data","Snapshot=t1.inf","Mode=HTML",ITEMDATA,"Name=FIELDNAME","Value={VUSERID}{TIMESTAMP}_LOADTEST.xlsx","File=yes","FilePath=REALFILEPATH.xlsx","ContentType=WHATEVERCONTENTTYPE",ENDITEM,LAST);

Value={VUSERID}{TIMESTAMP}_LOADTEST.xlsx 将是新的(唯一的)文件名。 (每个用户和迭代都是独一无二的!非常重要) FilePath 指向真实文件,其内容将被上传。