在JMETER中将摘要报告结果添加到数据库

时间:2016-04-20 10:47:52

标签: mysql database jmeter jmeter-plugins

有什么方法可以将JMETER中测试结束时生成的摘要报告结果添加到数据库中?我在数据库中创建了一个表。在此表中,我想存储摘要结果。我正在使用Mysql数据库。我怎么能这样做?

三江源。

2 个答案:

答案 0 :(得分:5)

您可以按照以下方式执行此操作:

  1. 下载MySQL JDBC Driver并将其放到JMeter安装的/ lib文件夹
  2. 重新启动JMeter以选择.jar up
  3. 将摘要报告侦听器添加到您的测试计划中。
  4. 将其配置为将结果保存到某个文件,即c:\jmeter\results.csv
  5. tearDown Thread Group添加到您的测试计划
  6. 添加JDBC Connection Configuration并提供:

    • 绑定到池的变量名称:任何有意义的内容,即results
    • 数据库网址:即jdbc:mysql://localhost:3306/YOUR_DATABASE_NAME_HERE
    • 数据库驱动程序类:com.mysql.jdbc.Driver
    • 证书
  7. 添加JDBC Sampler并按如下方式对其进行配置:

    • 变量名称:与JDBC连接配置中的变量名称匹配的内容,即results
    • 查询类型:Update Statement
    • 查询:load data local infile 'c:\jmeter\results.csv' into table YOUR_TABLE_NAME_HERE fields terminated by ',' enclosed by '"' lines terminated by '\n';
  8. 这样您就可以自动插入结果了。

    参考文献:

    以防您不知道如何使用以下查询创建结果表:

    create table test (timeStamp varchar(255),elapsed varchar(255),label varchar(255),responseCode varchar(255),responseMessage varchar(255),threadName varchar(255),dataType varchar(255),success varchar(255),bytes varchar(255),grpThreads varchar(255),allThreads varchar(255),Latency varchar(255) );
    

    有关详细信息,请参阅MySQL CREATE TABLE Syntax文档。

答案 1 :(得分:1)

JMeter是开源的。您甚至可以创建自己的侦听器,以便在采样器完成时将结果存储在DB中。 Check this获得一个想法。

如果您想在运行测试时获得结果,我认为BeanShell Listener可以为您提供帮助。基本上你放置beanshell代码来记录数据库中的结果。

如果您希望在测试后上传结果,可以将Summary Report侦听器配置为将结果记录在CSV文件中。测试后 - 您可以手动上传到MySQL DB,创建自定义脚本以编程方式上传。