首页 > 解决方案 > 如何通过电子邮件与詹金斯发送性能趋势图作为图像

问题描述

我正在将 Jmeter 测试用例与 Jenkins 集成,并使用能够查看趋势图的性能插件。

有没有办法在詹金的触发电子邮件中发送这些图表?我正在使用 3.11 版本的 Performance 插件和 email -ext 插件来发送电子邮件。在投资如何做到这一点时,我发现了链接

但在我的情况下它不起作用。在我的 jenkins 项目中,构建路径 /test/trend 路径不可用。我们实际上是在任何地方将趋势图存储为图像还是运行时实现?

请帮助了解如何将这些性能趋势图作为电子邮件发送

标签: jmeterjenkins-pluginsjenkins-email-ext

解决方案


我找不到任何直接的方法。所以,我尝试了以下方法: -

  1. 使用以下内容创建一个项目:-

    一个。构建 - 执行 jmx 以提高性能

    湾。构建后操作:- 这是发布性能测试结果报告。在同一个后期构建步骤中,我又添加了一个,即构建其他项目并给出第二个项目的名称(发送报告),该项目正在拍摄快照并触发邮件

  2. 使用以下内容创建第二个项目(发送报告):-

    一个。构建 - 执行快照脚本。

    湾。构建后操作:- 发送包含步骤 a 中生成的快照的电子邮件。下面的快照用于捕捉性能趋势:- 在此处输入图像描述

代码:-

// Importing packages (and all classes in package) from Java into Javascript
var pkg = JavaImporter(org.openqa.selenium)
var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait)
var fileUtils = JavaImporter(org.apache.commons.io.FileUtils)
var timeunit = java.util.concurrent.TimeUnit

//Login
WDS.browser.get("http://localhost:8080/")
var username = WDS.browser.findElement(pkg.By.id('j_username')).sendKeys(['Your_Username']);
var password = WDS.browser.findElement(pkg.By.name('j_password')).sendKeys(['Your_passowrd']);
var LogInBtn = WDS.browser.findElement(pkg.By.name('Submit')).click();

//Navigation
var ProjectLink = WDS.browser.findElement(pkg.By.linkText('Test_FreestyleProject')).click(); 
var PerformanceTrend = WDS.browser.findElement(pkg.By.linkText('Performance Trend')).click(); 

//Screenshot
var screenshot = WDS.browser.getScreenshotAs(pkg.OutputType.FILE)
screenshot.renameTo(new java.io.File("D:/pathtosnapshot/workspace/SendReport/" + "Performance_Report.png" ))

设置完成后,第一个项目将在完成时触发第二个项目,第二个项目将拍摄快照并发送电子邮件。现在,您需要检查项目中的导航并根据您的要求修改脚本,例如时间戳、构建标识等。

除了邮件触发部分,我已经检查了以上所有内容。我的电子邮件成功了,输出日志中没有错误,但邮件没有触发。它可能是 SMTP 配置或其他。

希望这可以帮助。


推荐阅读