0

假设我有一个 VUGen C 测试,它将结果写入某个数据日志文件,即它列出了在初始化时创建(或附加)的文件中已处理的 ID 或类似的东西,在主操作中写入,并在关闭时关闭。

然后我想知道是否有 LR 功能允许我在控制器上找到包含该文件的所有 vuser 副本的合并目录结构?

据我所知,所有 vuser 实例都使用测试目录结构的一个通用副本,位于 temp 中的某个位置。所以 a) 我需要将 VUser ID 包含在我的自定义日志文件的名称中,并且 b) 我必须在场景执行后从负载生成器手动收集结果文件,这是一个笨拙的过程。

唯一舒适的选择是将所有已处理的 ID(或其他)报告到 VTS(HP 虚拟表服务器,似乎是免费软件)并从那里获取它们,对吗?然后我有额外的编码要做。会不会没有人错过 VUgen/LR 中的这样一个功能?

我希望这不是太离题,因为这个问题不一定与代码相关。

4

2 回答 2

1

简单,用于lr_output_message()在测试期间将自定义日志消息输出到控制器。在测试结束时,只需从输出窗口的导出中转储出您需要的日志元素。

在测试期间,您需要警惕大量日志记录。您可以很容易地将整个磁盘子系统变成测试的瓶颈,这是双倍的,所以如果您在像控制器这样已经很忙的主机上运行用户,而不是在专用硬件上运行用户。Usinglr_output_message()使您从虚拟用户主机中注销并将其移动到控制器以进行日志记录。

确保包含一个参考或控制生成器,每种类型只有一个虚拟用户(硬件与您的生成器的其余部分匹配)以检查磁盘子系统是否成为瓶颈。

此外,如果您想在测试结束时恢复数据并想完全考虑解耦主机,您可以查看 K Sandell 建议的通向公共主机/位置的 UNC 路径,但增加了必须管理锁的复杂性与其他虚拟用户一起访问公共文件,或者在测试中简单地包含另一个目标,例如 VTS、许多基于 Java 的消息队列解决方案中的任何一种,甚至是带有轻型前端的 MySQL,只需使用形式。

于 2011-04-02T23:06:08.603 回答
0

无论 Performance Center 还是 Standalone,我们执行此操作的方式都是让脚本可映射 UNC 路径。然后我们在那里创建/写入/读取文件。

这允许从多个负载生成器运行脚本,而无需在测试后在任何地方复制任何文件,并且还为我们提供了一个通用存储空间,我们可以在其中加载所有脚本所需的 DLL 和其他文件。

请注意,无法从两个不同的 vuser 创建/写入 SAME 文件,您应该创建 vuser_id 特定名称或使用数据库来存储数据。DB 选项要求您手头有一个第 3 方 DB 库 (DLL)。

于 2011-03-14T11:41:36.433 回答