JMeter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第2部分

目标:

创建包含性能测试流程的持续交付管道,以尽早检测任何与性能相关的问题。

通常,全面的性能测试将在分段/预生产环境中完成,该环境可能与您的生产环境相同。在完成QA功能/回归验证后,将代码推送到分段。因此,即使QA对构建进行了认证,代码也可能无法在特定负载下按预期工作,而这些负载只能在Staging环境中找到。此性能问题需要再次进行代码更改 - >构建 - > QA验证,这可能会推迟您的生产推送!

那么,我们能否将性能测试融入现有的持续开发和测试流程中,以尽早发现性能问题?

是! 我们绝对可以!这里的想法是在较低的环境[Dev / QA]中运行性能测试(我们可能必须相应地调整负载)并将结果与??某些基线指标进行比较。请注意,这不会取代我们将在Staging环境中执行的全面性能测试。

注意:如果您还没有阅读这篇文章 - 我建议您阅读本文中关于JMeter + Ant集成的第1部分。

Jmeter安装:

请查看  此链接,了解在各种操作系统上安装Jenkins的详细步骤。

创建Jenkins工作:

  • 创建一个简单的自由风格项目。

  • 构建步骤应该是‘ Invoke Ant ‘

[我们将使用默认Ant,假设从机已经安装了Ant。如果没有,让jenkins自动安装ANT。]

  • 我们将调用目标‘ all ‘作为目标‘all‘在我们想要执行的任务下执行。

    • 清洁
    • 节目试验性能
    • 生成报告
    • 产生,图表
  • 我们的测试使用以下属性。我们将通过Ant将这些属性的值从Jenkins传递给JMeter,如上所述。
    • threadgroup.count
    • threadgroup.rampup
    • threadgroup.duration
  • 我们的项目文件夹位于C:/ workspace / CPT下。所以相应地设置自定义工作区。

  • 我们的测试在结果文件夹下创建结果。我们需要存档我们需要的文件,如下所示。要归档结果下的所有文件,请使用result \ *。*

注意:Jenkins将在工作区下查找文件。因此,设置相对于工作空间的路径。

从Jenkins调用JMeter测试:

  • 如果上述所有步骤都已正确完成,单击“Build”将运行jmeter测试。我们可以看到一个很好的输出,如下所示。它运行3个用户的测试,3秒作为加速期100秒。

  • 测试运行完成后,Jenkins将所有文件归档到结果文件夹下。它包括我们创建的HTML文件+ PNG图表。它存档每次运行的结果,并将它们存储在jenkins运行的服务器中。

  • 我们可以让我们的团队成员在Jenkins UI中输入这些值,而不是使用硬编码的测试属性。为了使它工作,我们需要使这个工作参数化并让我们创建3个参数,因为我们的测试需要运行3个参数。我们也可以为这些参数设置默认值。

  • 修改Build  - > Properties部分以使用我们创建的Jenkins参数。此步骤是必需的,因为Ant期望这些变量‘threadgroup.count‘等的值。[你也可以通过这样创建jenkins参数来避免这一步:代替USER_COUNT,我们可以创建threadgroup.count作为Jenkins参数名称。]。由于Jenkins参数和Ant参数不同,我们应该如下图所示。

  • 就是这样 - 现在,我们应该能够直接从Jenkins UI传递JMeter测试所需的参数值。输入一些值,然后单击Build。控制台将显示传递给测试的新值,JMeter将相应地运行测试。下面的输出显示JMeter调用5个线程。

Jenkins-Performance插件:

Jenkins有一个JMeter插件,用于解析结果文件,创建聚合报告,创建图表以及将当前结果与之前的结果进行比较等。

您可以在此处找到有关插件的更多详细信息。

[注意:只有当结果以XML格式存储时,此插件才会解析结果文件。如果您更喜欢使用CSV格式,它将无法正常工作]

安装插件后,对于Jenkins Job,我们可以在Post build actions下找到“ Publish Performance test results report ” 。在“报告文件”部分中,提供输出jtl文件的相对路径(到工作空间)。

  • 当我们多次运行测试时,我们可以看到Jenkins开始将性能测试的结果与之前的测试进行比较,并显示了很好的摘要输出。[ 在下面的摘要中你会看到很多0作为响应时间, 因为我在这个演示中使用了一个调试采样器,它不需要时间来执行。响应时间图表显示了一个starighline,因为它在我的测试中总是为0。

  • 要获得有关每个采样器的更多详细信息,请单击采样器。Jenkins将为每个采样器提供响应时间图表,如下所示。它还以表格格式显示数据以及HTTP响应代码,这很好!!

通过结果:

Jenkins有一个很好的插件可以通过电子邮件发送结果。请查看此链接以获取更多详细信息。

安装插件后,您可以找到帖子构建操作‘ 可编辑电子邮件通知 ‘

  • 在可编辑电子邮件通知的触发器下  ,我们将触发器设置为“始终”[始终 - >是否测试失败。您也可以更改触发器,以便仅在测试通过时发送邮件等]
  • 一旦JMeter运行测试,后构建操作将按照它们在Jenkins作业/项目配置中的顺序连续执行。因此,当执行此“post build action”时,结果文件已经在结果文件夹下创建。我们可能希望将HTML文件包含在电子邮件正文中并附加图像。[如果您不想在电子邮件正文中使用HTML或使用TXT格式,请附加HTML文件以及附件和图像]
  • 下面的屏幕截图将介绍发送邮件的基本配置。[我假设您已经设置了电子邮件服务器配置,或者您的Jenkins管理员会这样做]

  • 让我们再次运行我们的测试,看看Jenkins是否可以在运行测试后为我们发送结果。
  • 并且..是的....我收到了这里显示的电子邮件!

  • 所有图表文件也附在收到的电子邮件中。

摘要:

通过将JMeter与Ant和Jenkins集成,我们做得很好。因此,实施了连续性能测试过程  设置。我们也可以通过在Jenkins中单击一下来运行测试。当您专注于其他任务时,Jenkins负责运行测试,创建结果并为您发送结果!它还减少了对性能测试人员的依赖。是..!!任何人都可以立即进行测试。您只需要共享您创建的Jenkins作业的链接。

我们还可以将这项工作与Jenkins的“开发部署”工作集成在一起 - 也就是说......无论何时将代码推送到给定的测试环境,此工作都会自动执行,无需任何人工干预。任何功能测试和性能测试都可以尽早完成,以便及早发现任何问题!!

Grafana实时实施结果:

JMeter-Jenkins集成,通过电子邮件发送结果非常棒!! 但是如果你注意到,为了得到结果,我们需要等待测试完成。当詹金斯正在进行测试时,看到结果会不会很棒!! ??

如果你像我一样有一个长时间运行的测试,你很想看到当Jenkins正在运行测试时看到当前的结果 - 请查看我最喜欢的帖子之一来获得实时结果

原文地址:https://www.cnblogs.com/a00ium/p/10381289.html

时间: 2024-09-30 18:32:36

JMeter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第2部分的相关文章

Meter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第1部分

目标: 创建包含性能测试流程的持续交付管道, 以尽早检测任何与性能相关的问题. 通常,全面的性能测试将在分段/预生产环境中完成,该环境可能与您的生产环境相同.在完成QA功能/回归验证后,将代码推送到分段.因此,即使QA对构建进行了认证,代码也可能无法在特定负载下按预期工作,而这些负载只能在Staging环境中找到.此性能问题需要再次进行代码更改 - >构建 - > QA验证,这可能会推迟您的生产推送! 那么,我们能否将性能测试融入现有的持续开发和测试流程中,以尽早发现性能问题? 是! 我们绝对

使用jmeter进行性能测试-Jmeter教程及技巧汇总 (转)

为什么使用jmeter, 它免费开源, 不断发展, 功能逐渐强大. 可以做功能,负载, 性能测试.一套脚本可以同时用于功能和性能测试.Jmeter 有着众多的插件开发者, 支持多种的测试协议. 一 .Jmeter 使用入门教程(快速入门) 如果您熟悉英语, 可以选择阅读tutorialpoint的教程.  或浏览汉化中的[史上最完整Jmeter教程]. 您也可以继续浏览站长收集的如下资料.  1. Jmeter 快速入门教程(一)  什么是jmeter 及 google plugin介绍 (强大

Jmeter+Ant+Jenkins集成抛出异常java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage

一.问题描述 二.解决方法 下载javax.mail.jar插件,并将该插件放到%ANT_HOME%\lib目录下即可解决,下载地址:https://javaee.github.io/javamail/ 原文地址:https://www.cnblogs.com/xiaogongjin/p/12014333.html

【转】Jenkins+Ant+Jmeter自动化性能测试平台

Jmeter是性能测试的工具,java编写.开源,小巧方便,可以图形界面运行也可以在命令行下运行.网上已经有人使用ant来运行,,既然可以使用ant运行,那和hudson.jenkins集成就很方便了,而且jenkins上也有相应的插件Performance Plugin,可以自动收集jmeter的测试结果,展示出来. 首先去下载jmeter,在2.8版本中测试通过,2.9版本测试未通过.下载ant-jmeter-1.1.1.jar放在jmeter主目录lib文件夹下. 下载需要的ant包,包含

jenkins+ant+jmeter自动化性能测试平台

jenkins+ant+jmeter自动化性能测试平台 Jmeter是性能测试的工具,java编写.开源,小巧方便,可以图形界面运行也可以在命令行下运行.网上已经有人使用ant来运行,http://www.programmerplanet.org/projects/jmeter-ant-task/,既然可以使用ant运行,那和hudson.jenkins集成就很方便了,而且jenkins上也有相应的插件Performance Plugin,可以自动收集jmeter的测试结果,展示出来. 首先去下

【此处有干货~】jmeter+ant+jenkins持续集成配置及过程中问题解决思路

本人是一枚工作近三年的小测试,大学正好专业为软件测试,在工作中用到最多的是功能测试.接口测试.压力测试.偶尔会涉及到性能测试......(小白,很多观念技术跟大佬差距太大,勿喷) 在接口测试过程当中,如果后面需要回归接口,本人采用的是jmeter+ant+jenkins进行自动化构建,在构建失败的情况下,会用过邮箱提醒的方式告知: 强烈给大家推荐一本<全栈性能测试修炼宝典 JMeter实战 pdf >,里面内容很齐全,对于测试本身还是挺有帮助的. 切入正题: 环境配置分为三部分: 第一:jme

Jenkins+Ant+Jmeter 自动化性能测试平台

一.前言 持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作, 通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误.许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件. Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:持续的软件版本发布/测试项目,监控外部调用执行的工作. 项目构建 通过构建工具对多个项目文件进行统一

Jmeter+Ant+Jenkins搭建持续集成的接口测试

前置条件:首先我们默认Jmeter脚本已经录制好了,并测试通过,存在如下脚本 一.Ant转换xml格式的聚合报告 前期条件:存在Jmeter聚合测试报告TestReport201510100244.jtl 1.Ant安装 下载ant地址 配置环境变量 命令行窗口输入ant 安装成功 2.将Jmeter保存的xml格式的聚合报告TestReport201510100244.jtl,放到相应的文件夹中 文件夹目录结构: D:\jemeterTest 3.编辑build.xml文件          

JMeter+ant+jenkins自动化持续集成

一.ant安装配置 1.官网下载地址:http://ant.apache.org/bindownload.cgi 对应的操作系统选择对应的版本下载,本文以windows为列,下载后解压到本地 2.设置系统环境变量 ANT_HOME: d:\apache-ant-1.9.7 path: %ANT_HOME%\bin classpath: %ANT_HOME%\lib 设置完后在dos命令输入 ant -version后出现对应的ant版本即ok! 二.jmeter和Jenkins安装省略,请参考相