Jenkins+Jmeter+Ant自动化持续集成环境搭建
【前言】
今天让我们先把准备工作做好 >> 搭建环境!
【正文】
JDK+Jmeter安装教程:
参考博客:https://www.cnblogs.com/baoziluo/p/7905659.html
Ant安装教程:
1.官网下载:http://ant.apache.org/bindownload.cgi
2.下载后得到的是一个的压缩包,将其解压到你指定的文件夹即可,例如本人的路径为:D:\ant\apache-ant-1.9.11
配置Ant的环境变量:打开控制面板–>系统和安全–>系统–>高级系统设置–>高级–>环境变量
| 系统变量名 | 变量值 |
|---|---|
| ANT_HOME | D:\ant\apache-ant-1.9.11;(你ant解压的目录路径) |
| path | D:\ant\apache-ant-1.9.11/lib; |
| classpath | D:\ant\apache-ant-1.9.11/bin; |
释:新建系统变量:ANT_HOME,填入变量值:D:\ant\apache-ant-1.9.11(你ant解压的目录路径)
编辑path,在末尾添加变量值:D:\ant\apache-ant-1.9.11/lib;(你ant解压的目录路径)
编辑classpath,在末尾添加变量值:D:\ant\apache-ant-1.9.11/bin;(你ant解压的目录路径)
注:有些小伙伴会用相对路径配置环境变量,例:%ANT_HOME%;楼主使用过,但是用命令行检索时,检索不出正确安装的显示结果,所以建议还是使用绝对路径
打开命令行,输入:ant -version
【见到图中显示结果说明ant安装成功!因为ant默认运行build.xml文件,这个文件需要我们建立 <build文件我会在下面说明>】

查看版本:ant -version

(1)jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml.
(2)将apache-jmeter-3.2\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.11\lib目录下.
(3)在\apache-jmeter-3.2\extras目录下打开CMD,运行"ant.bat -file build.xml -Dtest=Test" . 查看\apache-jmeter-3.\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功。注意:Test.jmx是默认存在的Sample脚本文件.
(4)若构建失败,请分析cmd打印的日志消息,定位问题.
build文件(手动新建):

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="all" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="C:\Program Files (x86)\apache-jmeter-3.2" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\jmeterTest\resultLog\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\jmeterTest\resultLog\html" />
<!-- 生成的报告的前缀-->
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" /> <target name="all">
<antcall target="test" />
<antcall target="report" />
</target> <target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplans dir="D:\jmeterTest\testscript" includes="*.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeter>
</target> <target name="report">
<xslt in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" /> <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
Jenkins安装教程:
1.配置配置Tomcat环境
tomcat 是针对 Java 的一个开源中间件服务器(容器),基于 Java Web 的项目需要借助 tomcat 才能运行起来
(1)下载Tomcat选择合适的版本
Tomcat官方网站: http://tomcat.apache.org/

(2)解压此文件,对下载的压缩包进行解压,目录结构如下:

启动和关闭Tomcat服务:
点击startup.bat,运行成功,我们通过localhost:8080可以访问到tomcat主页,8080为默认端口,根据实践情况添加端口

2.配置Jenkins环境
(1)下载Jenkins
官方网站:http://jenkins-ci.org/

(2)安装Jenkins
点击安装程序,直接点击next 我们直接将其安装到 tomcat 的 webapps\jenkins目录下。
例:D:\apache-tomcat-8.5.31\webapps\jenkins

(3)运行Jenkins
进入 tomcat 的 bin/目录下启动 startup.bat :

通过浏览器访问:http://localhost:8080/,得到:
(楼主这是有注册了帐号显示的界面,如果第一次登陆的用户参考下创建步骤:https://jingyan.baidu.com/article/cbcede077f62bf02f40b4de2.html)

到这里整套环境就搭建完成了,可以自行构建测试是否达到预期.
遇到的问题:
1.如果在运行过程中这个问题:
report:
[xslt] Processing D:\Tools\apache-jmeter-2.13\demo\report\jtl\TestReport201805300923.jtl to D:\Tools\apache-jmeter-2.13\demo\report\html\TestReport201805300923.html
[xslt] Loading stylesheet D:\Tools\apache-jmeter-2.13\extras\jmeter-results-detail-report_21.xsl
[xslt] : Error! 前言中不允许有内容。
[xslt] : Error! com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: 前言中不允许有内容。
[xslt] Failed to process D:\Tools\apache-jmeter-2.13\demo\report\jtl\TestReport201805300923.jtl
解决办法:在build.xml文件的jmeter标签中添加这么一句话:
<property name="jmeter.save.saveservice.output_format" value="xml"/>
2.测试报告中三个指标为NaN
解决办法:需要从Jmeter的lib包里把xalan-2.7.2.jar和serializer-2.7.2.jar copy到Ant的lib包里
3.taskdef class org.programmerplanet.ant.taskdefs.jmeter.JMeterTask cannot be found using the classloader AntClassLoader[]
解决办法:将JMeter所在目录下的extras子目录里面的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录下
Jenkins+Jmeter+Ant自动化持续集成环境搭建的更多相关文章
- Jmeter+Ant+Jenkins接口自动化持续集成环境搭建(Linux)
一.安装说明 系统环境:CentOS release 6.4 JDK版本:jdk1.8.0_181 Jmeter版本:apache-jmeter-3.0 Ant版本:apache-ant-1.9.13 ...
- Jenkins+Maven+Gitlab+Nexus持续集成环境搭建
1.软件及服务介绍 Jenkins:jenkins是实现代码自动化流程上线的工具,Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个 ...
- Jenkins+JMeter+Ant 接口持续集成
JMeter安装 JMeter安装包: 下载地址:https://jmeter.apache.org/download_jmeter.cgi 依赖JDK环境 JDK环境配置: JAVA_HOME ...
- Jenkins + svn + maven 构建持续集成环境搭建
Jenkins简介 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: ...
- Jenkins+Jmeter+Ant接口持续集成
修改时间 修改内容 修改人 2016.5.22 创建 刘永志 2016.6.15 完成 刘永志 前言: 为什么要用Jmeter做接口测试: 当选择这套方案的时候,很多人会问,为什么选择Jmeter做C ...
- Jenkins+Jmeter+Ant 接口持续集成(转)
来源:https://testerhome.com/topics/5186 为什么要用Jmeter做接口测试 当选择这套方案的时候,很多人会问,为什么选择Jmeter做Case管理?为什么不自己写框架 ...
- Docker+Jenkins_自动化持续集成环境搭建
前一篇文章里已经在内网环境搭建好docker 详见:https://www.cnblogs.com/befer/p/9107503.html, 现在接着搭建一个Docker+Jenkins的集成环境 ...
- Jmeter + Ant + Jenkins 接口/性能测试,持续集成环境搭建
1. 安装Jmeter.jdk Jmeter 3.3版本 :<http://note.youdao.com/noteshare?id=5e3fd287db24d08386207a7de22d26 ...
- Jenkins+jmeter+ant+Git 持续集成(六、代码提交到Gitlab即自动构建)
实现原理: 利用jenkins和gitlab的webhook结合,实现提交代码之后,自动触发jenkins的构建. 1.Jenkins的插件安装: 需要安装两个gitlab的插件:Gitlab Hoo ...
随机推荐
- Appium-xpath详解
一.xpath简介 XPath就是XML 路径,练习XPath的使用可以直接使用火狐浏览器 火狐浏览器下载 free bug和free path两个插件. 手机xpath可以自己写,路径关键字选cla ...
- nodejs cluster 学习记录
最近在使用 egg.js ,这个框架提供多进程管理机制 我们知道 JavaScript 代码是运行在单线程上的,换句话说一个 Node.js 进程只能运行在一个 CPU 上.如何榨干服务器资源,利用上 ...
- Java 时间和日期类型的 Hibernate 映射
以下情况下必须显式指定 Hibernate 映射类型 一个 Java 类型可能对应多个 Hibernate 映射类型. 例如: 如果持久化类的属性为 java.util.Date 类型, 对应的 Hi ...
- loj514模拟只会猜题意
果然是道模拟... 一开始想线段树 看了一眼数据范围:“这tm不是前缀和吗” 然后水过 #include<iostream> #include<cstdio> #include ...
- Gym - 100851L:Landscape Improved (二分+单调性)
题意: 一个宽度为N的网格图,i上有h[i]高的方块.现在你有W个方块,问怎么放使得最终的最高点最高. 当一个格子的下方,左下方和右下方都有方块那么久可以把方块放到这个格子上.最左端和最右端不能放 ...
- BestCoder Round #93 比赛记录
机房又迎来了一次BC.大家都沸腾了... BC开场,大家全都瞬间开始 啪啦啪啦啪啦啪啦 都要赶紧水过第一题. 第一题明显直接贪心就好了,用map去重. 本人荣幸地第一个写完,提交 Wa. (崩溃的内心 ...
- gulp安装简介
1 全局安装gulp:npm install -g gulp 2 在项目根目录中,安装项目的开发依赖:npm install --save-dev gulp 2.1 根据gulpfile.js中的依赖 ...
- 计算MySQL的内存峰值公式 (转)
-- 计算MySQL的内存峰值公式,计算所有的连接满了的情况下: select (@@key_buffer_size + @@query_cache_size + @@tmp_table_size ...
- sysbench安装、使用
二.编译安装 编译非常简单,可参考 README 文档,简单步骤如下: cd/tmp/sysbench-0.4.12-1.1./autogen.sh./configure --with-mysql ...
- C#动态给EXCEL列添加下拉选项
Microsoft.Office.Interop.Excel.Application excel=new Microsoft.Office.Interop.Excel.Application(); M ...