获取jmeter将报告信息汇总到变量中

时间:2013-12-23 15:32:51

标签: testing load reporting jmeter

我正在使用jmeter对Web应用程序运行一系列测试,主要是从Jboss托管的Web服务,很快就会成为Tomcat。

我做的大部分测试都是自主运行的,我通常会将结果写入报告数据库。

我试图找到一种方法来获取分配给变量的聚合报告中显示的信息(平均值,中位数,最大值等)。

如果我可以将这些值变为变量,我可以将它们写入我的报告数据库和/或用它们进行计算。

汇总报告正在向我提供我想要的信息,但如果我可以侥幸逃脱,我不想手动将数据移动到报告系统。

1 个答案:

答案 0 :(得分:0)

最简单的方法是配置Aggregate Report将输出写入文件。测试完成后,您应该能够按如下方式将数据加载到数据库(MS SQL示例)

USE your_schema;
GO

BULK INSERT dbo.your_schema
FROM 'path_to_your_csv_results_file'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO

如果您想要更多灵活性,我建议使用JSR223 Post Processor和Groovy作为语言来获取以前的采样器详细信息。

有一个名为prev的预定义变量代表SampleResult类 - 请参阅可用方法的链接JavaDoc。您可以提取所需的值并将它们存储到JMeter变量,如:

vars.put("StartTime", String.valueOf(prev.getStartTime()));

然后根据需要处理变量。

选择JSR223而不是Javascript,BSF,Beanshell的原因,无论是在启用Groovy语言和编译缓存的情况下,JSr223 Sampler都能提供与本机Java代码几乎相同的性能。