Email 通过jmeter发送测试结果邮件

Email 通过jmeter发送测试结果邮件,email,smtp,jmeter,Email,Smtp,Jmeter,我在测试计划中加入了一个简单的HTTP请求采样器。并且,通过“查看结果树”查看结果,并将相同的结果写入文件。我希望通过邮件采样器发送此文件。 问题是,一旦我执行了测试用例,它会首先发送邮件,然后将新的测试结果附加到文件中。因此,在邮件中,我得到了以前的运行结果,而不是新的运行结果 我怎样才能把它结合起来呢?我建议你发送一封专为后期处理目的而设计的电子邮件,这似乎正是你想要的 还要确保通过采样器等待合理的时间,因为JMeter不会动态更新结果文件,它会定期刷新结果块 如果您不想要“旧”数据,您可以

我在测试计划中加入了一个简单的HTTP请求采样器。并且,通过“查看结果树”查看结果,并将相同的结果写入文件。我希望通过邮件采样器发送此文件。
问题是,一旦我执行了测试用例,它会首先发送邮件,然后将新的测试结果附加到文件中。因此,在邮件中,我得到了以前的运行结果,而不是新的运行结果


我怎样才能把它结合起来呢?

我建议你发送一封专为后期处理目的而设计的电子邮件,这似乎正是你想要的

还要确保通过采样器等待合理的时间,因为JMeter不会动态更新结果文件,它会定期刷新结果块

如果您不想要“旧”数据,您可以与一起使用,即删除旧结果文件或将其移动到其他地方


有关JMeter电子邮件提示和技巧的更多信息,请参见

,我建议您发送电子邮件,该邮件专为后期处理而设计,似乎正是您所需要的

还要确保通过采样器等待合理的时间,因为JMeter不会动态更新结果文件,它会定期刷新结果块

如果您不想要“旧”数据,您可以与一起使用,即删除旧结果文件或将其移动到其他地方


有关JMeter电子邮件提示和技巧的更多信息,请参见

我注意到,使用SMTP采样器发送电子邮件时,JMeter首先会发送带有空白或旧运行报告的电子邮件。 为了克服它,我尝试了以下几点:

  • 我创建了一个批处理文件,从命令行调用Jmeter,如下所示:
  • 调用jmeter-n-t“脚本路径”-l“JTL报告路径”

  • 我使用了一个名为sendEmail的实用程序,它位于以下位置: 作为:
  • sendEmail-f发件人电子邮件-t收件人电子邮件-cc抄送电子邮件-s邮件服务器-u“主题”-m“邮件正文”-a“JTL报告附件路径”

    它执行JMeter脚本,以第一步中指定的路径生成报告,然后使用第2步发送带有报告的电子邮件


    这可能会有所帮助。

    我发现JMeter在使用SMTP采样器发送电子邮件时,首先会发送带有空白或旧运行报告的电子邮件。 为了克服它,我尝试了以下几点:

  • 我创建了一个批处理文件,从命令行调用Jmeter,如下所示:
  • 调用jmeter-n-t“脚本路径”-l“JTL报告路径”

  • 我使用了一个名为sendEmail的实用程序,它位于以下位置: 作为:
  • sendEmail-f发件人电子邮件-t收件人电子邮件-cc抄送电子邮件-s邮件服务器-u“主题”-m“邮件正文”-a“JTL报告附件路径”

    它执行JMeter脚本,以第一步中指定的路径生成报告,然后使用第2步发送带有报告的电子邮件

    这可能会有所帮助。

    参考文章-

    如果使用“查看结果树”“摘要报告”侦听器,则即使使用拆卸线程组,也无法通过SMTP采样器通过邮件发送当前报告

    原因:只有在测试完全完成后,JMeter才会将数据写入这些报告文件。
    您可以通过在运行SMTP采样器之前添加拆卸线程组和延迟来验证这一点。注意文件大小,它是在测试开始后创建的,但数据是在最后一个线程(本例中为SMTP采样器)完成执行时写入的

    因此,只有一个空文件会附加到您的电子邮件

    解决方案- 1.在“user.properties”文件中查找并修改(或添加,如果不存在)以下部分,并将autoflush参数设置为true:

    # AutoFlush on each line written in XML or CSV output
    # Setting this to true will result in less test results data loss in case of Crash
    # but with impact on performances, particularly for intensive tests (low or no pauses)
    # Since JMeter 2.10, this is false by default
    jmeter.save.saveservice.autoflush=true
    
  • 按照Ashish的建议,使用批处理脚本,并在JMeter测试之后使用其他实用程序发送邮件
  • 这种方法的问题是,它依赖于另一个实用程序。此外,我们还需要为不同的平台(Windows/Linux)编写不同的脚本

  • 我们可以使用jp@gcJMeter插件,它提供了非常强大的报告元素
  • 在这种情况下,我们需要的是一个“灵活的文件编写器”插件。它为您提供了强大的自定义功能,以配置要写入报表文件的数据,还允许您包含要通过SMTP采样器发送的完整报表文件

    我能够使用灵活的文件编写器侦听器和拆卸线程组来实现这一点。这是我的测试计划的结构-

    测试计划
    ---螺纹组
    -------采样器
    -------jp@gc-柔性卷纸机
    ---拆卸螺纹组
    ------SMTP采样器

    下面是我的File Writer插件配置的快照:


    您可能希望在从拆卸线程组发送邮件之前增加一些延迟

    您可以使用内置的Jmeter插件管理器下载Flexible File Writer插件,也可以从Jmeter插件网站下载-

    参考文章-

    如果使用“查看结果树”“摘要报告”侦听器,则即使使用拆卸线程组,也无法通过SMTP采样器通过邮件发送当前报告

    原因:只有在测试完全完成后,JMeter才会将数据写入这些报告文件。
    您可以通过在运行SMTP采样器之前添加拆卸线程组和延迟来验证这一点。注意文件大小,它是在测试开始后创建的,但数据是在最后一个线程(本例中为SMTP采样器)完成执行时写入的

    因此,只有一个空文件会附加到您的电子邮件

    解决方案- 1.在“user.properties”文件中查找并修改(或添加,如果不存在)以下部分,并将autoflush参数设置为true:

    # AutoFlush on each line written in XML or CSV output
    # Setting this to true will result in less test results data loss in case of Crash
    # but with impact on performances, particularly for intensive tests (low or no pauses)
    # Since JMeter 2.10, this is false by default
    jmeter.save.saveservice.autoflush=true
    
  • 使用一个批处理脚本,并在J之后使用其他实用程序发送邮件