Jmeter+Jenkins+Ant自动化集成环境搭建
搭建环境:
JDK:jdk1.8.0_92
Ant:apache-ant-1.9.7
Jmeter: apache-jmeter-3.0
Jenkins:jenkins-2.19.3
具体环境配置
1、jdk安装及配置,自行查找,不再细说
2、jmeter安装及配置:
1)、apache-jmeter-3.0压缩包解压到指导目录
2)、环境变量配置:JMETER_HOME(D:\apache-jmeter-3.0)
3)、运行cmd, 输入jmeter -version检验安装成功
4)、运行apache-jmeter-3.0\bin\jmeter.bat,成功进入jmeter界面即可
3、ant安装及配置:
1)、apache-ant-1.9.7解压到指导目录
2)、环境变量配置:ANT_HOME(D:\apache-ant-1.9.7),path(%ANT_HOME%\bin)classpath(D:\apache-ant-1.9.7\lib)
3)、运行cmd, 输入ant -version检验安装成功
4)、本地调试使用ant构建运行Jmeter,并且生成jtl、Html报告;
- 配置build.xml,放在D:\apache-jmeter-3.0\demo下

- 修改Jmeter的bin目录下jmeter.properties文件的配置: jmeter.save.saveservice.output_format=xml (jmeter默认保存的是.csv格式的文件)
- 将jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录下
- 命令行切换目录到测试脚本存放目录,输入ant,按enter执行即可。

5)、ant生成的HTML报告优化注意点:
测试报告没有数据,页面为空:
第一步:确保D:\apache-jmeter-3.0\bin\jmeter.properties对应参数输出开关为true第二步:需要把jmeter3.0下的jmeter-results-detail-report.xsl换成jmeter-results-detail-report_21.xs即可解决
测试报告上data report ,min,max显示NAN:
第一步:将apache-jmeter-3.0\lib中的serializer-2.7.2.jar、xalan-2.7.2.jar复制到apache-ant-1.9.7\lib中
第二步:修改build.xml的配置

4、Jenkins的安装及配置
1)、安装的是jenkins-2.19.3.msi安装版,也可安装war包,根据自己喜好选择即可;
2)、双击jenkins.msi启动安装,默认安装在C盘,然后启动成功。
3)、Jenkins服务默认端口为8080,如与其他服务冲突,可在..\Jenkins\jenkins.xml中修改默认端口,修改为–httpPort值即可,我用的默认端口号;

4)打开Jenkins,首次进入会默认让你选择安装插件(此处如果完全不清楚自己需要什么插件,建议全选)。插件安装完成之后,需要设置登录用户,按照自己喜好设置即可。

5)进入Jenkins主页,进行系统设置及工具配置
- 系统管理—插件管理,下载插件,确保这四个HTML Publisher plugin,Performance plugin,Email Extension Plugin, ant plugin有就行。

- 系统管理---系统设置,配置Jenkins Location和Extended E-mail Notification即可,这里用的是自己的公司邮箱配置。


- 系统管理–工具设置,配置jdk,ant的本地目录,具体如下


6)创建job,进行构建配置,插件配置
- 新建–选择一个自由风格的软件项目创建。
- job配置,general下面配置2个地方,如下:
丢弃旧的构建:保存的构建天数设置为7天,最大数为30,方便查看本周的测试情况,具体根据自己的需要设置。(默认都是1)

自定义工作目录,方便后续报告生成等,默认的工作目录在C盘下。

- 构建触发器的配置,可实现定时的自动化运行job,实现持续构建。考虑压测对服务器的压力,为了不影响正常的工作,这里设置为每天晚上10进行测试(注意不要让电脑出了休眠状态)。
这里说明下Build periodically与Poll SCM的区别:
Build periodically:周期进行项目构建(它不care源码是否发生变化)。
Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。
目前不设置代码更新,所以Poll SCM不需要配置。

- 点击增加构建步骤,配置 Execute Windows batch command,删除报告下面已有的报告数据,避免影响当前运行的结果。

配置invoke ant,设置为本地的ant版本,同时设置build文件的目录

- 点击增加构建后步骤,配置Publish HTML report,方便查看测试结果HTML报告

配置Publish Performance test result report,查看具体的性能测试曲线图标

配置邮件插件Editable Email Notification,这里不需要做任何处理,都用默认值,除了触发器Triggers改为always即可。因为默认只有测试失败邮件才可以发送成功。


7)运行job,查看输出结果:选择job,立即构建运行job,如下:

- 控制台Console Output查看具体的运行log:

- Performance Report查看构建持续时间曲线图,这里以病人信息页面向服务器请求压测结果举例。从图可以看到线程的响应时间随时间变化越来越快,一开始比较慢,主要是短时间内同时启动200各线程,反应慢。样本数,平均响应时间等参数也可以看到。

- HTML Repoet查看生成的HTML报告,一目了然看到线程总数,失败成功比率等参数。

9)查看发送邮件展示:目前只设置了构建版本,构建结果,构建原因,构建日志几个参数,后续可以继续扩展其它参数。

常见问题处理
1、HTML report样式显示混乱,跟本地ant生成的css渲染不一样。

解决方法:在系统管理,脚本命令行输入System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "") ,点击运行即可。如果服务重启的话,这里需要重新设置运行下。

2、performance trend显示空白问题,升级performance plugin插件即可。


Jmeter+Jenkins+Ant自动化集成环境搭建的更多相关文章
- Jenkins + Jmeter +Ant自动化集成环境搭建(一)
所需工具 一.jmeter 工具下载 https://jmeter.apache.org/ 配置环境JDK等及各种插件可以看小七之前的教程 二.Ant安装(http://ant.apache.org ...
- Jenkins+Jmeter+Ant自动化集成环境搭建
1.搭建环境,安装以下工具 JDK:jdk1.7.0_79 Ant:apache-ant-1.9.7 Jmeter: apache-jmeter-3.0 Jenkins: jenkins-1.651. ...
- 从零开始搭建Jenkins+Docker自动化集成环境
本文只简单标记下大概的步骤,具体搭建各个部分的细节,还请自行搜索.第一.二部分只是对Jenkins和Docker的简单介绍,熟悉的同学请直接跳到第三部分. 一.关于Jenkins Jenkins简介 ...
- Docker学习总结(13)——从零开始搭建Jenkins+Docker自动化集成环境
本文只简单标记下大概的步骤,具体搭建各个部分的细节,还请自行搜索.第一.二部分只是对Jenkins和Docker的简单介绍,熟悉的同学请直接跳到第三部分. 一.关于Jenkins Jenkins简介 ...
- jmeter + ant + jenkins 自动化集成环境搭建
所需工具 一.jmeter 工具下载 https://jmeter.apache.org/ 配置环境JDK等及各种插件 二.Ant安装(http://ant.apache.org/) 安装Ant是为 ...
- ant+jenkins+testng+selenium集成环境搭建
一.前序工作 下载ant:http://ant.apache.org/bindownload.cgi 下载jenkins:http://jenkins-ci.org/ 下载testng:http:// ...
- Jenkins+Docker自动化集成环境搭
关于Docker Docker 简介 Docker现在是Github社区最火的项目之一,Docker是个容器,或许你听过lxc,你可能知道Tomcat这个Web容器,容器是什么概念,意会就好.问个问题 ...
- Jenkins+PowerShell持续集成环境搭建(八)邮件通知
1. 默认邮件功能: Jenkins自带的邮件功能比较简单,配置如下: 设置默认发件人地址: 2. Email Extension Plugin 为了能够更加灵活地使用邮件功能,需要安装Email E ...
- Jenkins+PowerShell持续集成环境搭建(七)构建触发器
Jenkins 有三种类型的构建触发器,如下图: Build after other projects are built:在其他项目构建后构建: Build periodically:定时构建: P ...
随机推荐
- react 从零开始搭建开发环境
1.创建 package.json 项目 npm init 2.安装 webpack, 并且设置为项目依赖: npm install webpack --save-dev 当然你必须之前已经在 -g ...
- cf246 ENew Reform (并查集找环)
Berland has n cities connected by m bidirectional roads. No road connects a city to itself, and each ...
- 深入浅出AOP(一)
动态代理实现AOP: AOP事实上非常早之前依照做出来了一些东西,之所以不敢说做出来了.是由于它是什么?怎么实现?做出来的东西是不是?先前一直查资料.查到的资料跟着做.到后来发现,AOP越来越大,而非 ...
- JQuery实现表格行的上移、下移、删除、增加
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%&g ...
- 图像处理之基础---很好的一个快速比较两副图片是否相同的code 可用于公安鉴别
转自Codeproject http://www.codeproject.com/dotnet/comparingimages.asp Public Enum CompareResult ciComp ...
- AngularJS 基础入门(指令篇)
一.介绍 AngularJS 是google 开发人员设计的一个前端开发框架,它是由是由javascript 编写的一个JS框架.通常它是用来在静态网页构建动态应用不足而设计的. AngularJS特 ...
- oracle的日期蛋
一切都是扯鸡巴蛋. 在网上查oracle的日期函数用法,得到一大堆语法,林林总总,都是扯鸡巴蛋,没能解决我的问题. 其实,我想写这么一条语句:查找某个日期(不含时分秒)产生或有关的记录.咋写? SQL ...
- 2016/3/27 PHP中include和require的区别详解
1.概要 require()语句的性能与include()相类似,都是包括并运行指定文件.不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估:而对于require()来说, ...
- Dom4J XML转bean
package com.baiwang.bop.utils; import com.baiwang.bop.client.BopException; import org.dom4j.Element; ...
- manacher求最长回文子串算法
原文:http://www.felix021.com/blog/read.php?2040 首先用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度:在每个字符的两边都插入一个 ...