我正在使用 jmeter 对 Web 应用程序运行一系列测试,主要是托管在 Jboss 和即将成为 Tomcat 的 Web 服务。
我做的大部分测试都是自主运行的,而且我通常将结果写入报告数据库。
我正在尝试找到一种方法来获取分配给变量的汇总报告中显示的信息(平均值、中位数、最大值等)。
如果我可以将这些值放入变量中,然后我可以将它们写入我的报告数据库和/或使用它们执行计算。
汇总报告准确地提供了我想要的信息,但我不想在可以逃脱的情况下手动将数据移动到报告系统。
最佳答案
最简单的方法是将聚合报告配置为将输出写入文件。测试完成后,您应该能够按如下方式将数据加载到数据库中(MS SQL 示例)
USE your_schema;
GO
BULK INSERT dbo.your_schema
FROM 'path_to_your_csv_results_file'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
如果您想要更大的灵 active ,我建议您使用 JSR223 后处理器和 Groovy 作为语言来获取以前的采样器详细信息。
有一个名为prev
的预定义变量,代表SampleResult类 - 请参阅有关可用方法的链接 JavaDoc。您可以提取所需的值并将它们存储到 JMeter 变量中,例如:
vars.put("StartTime", String.valueOf(prev.getStartTime()));
然后根据需要处理变量。
选择 JSR223 而不是 Javascript、BSF、Beanshell 的原因,无论是在 Groovy 语言和启用编译缓存的情况下,JSr223 Sampler 的性能几乎与 native Java 代码相当。
关于testing - 获取jmeter聚合报告信息到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20746562/