jenkins+ant+jmeter实现自动化集成 for window

一、jmeter

    1.jmeter安装

二、ant

    1.ant安装

三、ant运行 jmeter脚本

    1.配置

四、jenkins部署

一、jmeter

今天自主研习jmeter+ant+jenkins自动化环境部署,网上提供了很多教程介绍,Windows版本的,mac版的,很多。每一篇都大概看了,也跟着操作但还是会卡在某个环节,感觉很多教程介绍的不是很详细,有些步骤略过了,导致我部署环境遇到了很多问题。记录下来,边学习边巩固,而且之后会用到的。

1.jmeter安装

使用谷歌浏览器进入 jmeter官网:https://jmeter.apache.org/ 下载jmeter zip包

下载比较简单,下载后我把压缩包放在 applications目录下进行解压,

之后进入控制面板编辑系统环境变量,编辑path,新建变量把jmeter路径添加至列表保存

win+R 输入cmd 打开 windows 系统 DOs 命令窗口 输入 jmeter -v 查看是否安装成功和安装的版本是否一致,显示如下图代表配置成功啦!

之后启动只要在终端输入jmeter回车就可以启动了(懒人必备!)

二、ant安装

1.ant安装包下载地址

http://ant.apache.org/bindownload.cgi

下载zip文件并进行解压缩(我把下载文件放在了和Jmeter同一个路径applications目录下)

2.配置环境变量

设置ant环境变量(此处为我的安装路径)

ANT_HOME=E:\application\apache-ant-1.10.9

CLASSPATH=E:\application\apache-ant-1.10.9

Path=E:\application\apache-ant-1.10.9\bin

【也可以Path=%ANT_HOME%\bin】

3.安装验证

1)首先配置好环境之后,需将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中,该包相当于是ant和jmeter连接的桥梁,作用

是使Ant运行时能够找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发JMeter脚本

2)修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml
作用是使Jmeter报告输出文件格式为xml

3)在jmeter安装目录下新建文件夹demo,在demo下新建文件夹report,report下再新建jtl和html文件夹,html和jtl文件夹的作用:
html文件夹:用于保存html的结果报告
jtl文件夹:用于保存jmeter的测试脚本

(一开始jtl和html文件夹下都是空的,执行了ant命令之后jtl会生成截图)

4)在CMD下输入ant -version后,会输出 ant版本号,说明配置成功,下一步配置build.xml文件

build.xml:Ant根据该文件运行jmeter脚本(关键文档,需要配置正确)
它的作用就是把生成的.jtl数据文件转换为.html格式的报告

具体属性的含义:

in:生成的.jtl文件的路径
out:生成的.html文件的路径
style:从.jtl转换成.html所使用的样式,这些文件也在extras目录下,这个是最重要的部分,如果我们想定制报告可以自行定义这个文件或者从网上找一些合适的文件。

build.xml通用模版如下:

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddHHmm" />
</tstamp>
<!-- 需要改成自己本地的Jmeter目录-->
<property name="jmeter.home" value="/Applications/apache-jmeter-5.1.1" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="/Applications/apache-jmeter-5.1.1/demo/report/jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="/Applications/apache-jmeter-5.1.1/demo/report/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" />
<!-- 输出生成的报告名称和存放路径-->
<echo message="${jmeter.result.jtlName}"/>
<echo message="${jmeter.result.htmlName}"/>
<echo message="${jmeter.result.html.dir}"/>

<target name="run">
<antcall target="test"/>
<antcall target="report"/>
</target>
<!-- 指定ant-jmeter-1.1.1.jar 的位置 -->
<path id="jmeter.classpath">
<fileset dir="${jmeter.home}/extras">
<include name="ant-jmeter-1.1.1.jar"/>
</fileset>

</path>
<!--加载jar包,解决显示时间问题-->
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>

<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本,比如test*。jmx表示以test开头的所有.jmx文件-->
<testplans dir="/Applications/apache-jmeter-5.1.1/demo" includes="*.jmx" />
<!-- 声明ant执行jmeter时,传入jmeter的属性值,可以自定义必须是xml格式 -->
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>

<target name="report">
<tstamp> <format property="report.datestamp" pattern="yyyy-MM-dd HH:mm" /></tstamp>
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
<!--jmeter-results-detail-report_21.xsl这里的文件名可以换成你想要的报告效果-->
<!--显示dateReport的时间-->
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>

根据个人环境的不同,上述需要修改的模版参数为:

build.xml文件的配置比较重要,网上有些是有的build.xml模板缺漏 导致允许时,一直build failed。因此需检查是否有以下该段代码

<!-- 指定ant-jmeter-1.1.1.jar 的位置 -->
<path id="jmeter.classpath">
<fileset dir="${jmeter.home}/extras">
<include name="ant-jmeter-1.1.1.jar"/>
</fileset>

</path>

5)准备要要运行的项目,把写好的jmemeterh脚本放在demo目录下

6) 运行。我的build.xml文件放在demo目录下,所以先终端切换到该目录

# 终端cd到demo目录
cd /Applications/apache-jmeter-5.1.1/demo
# 之后运行
ant
# 或者
ant run

执行成功后查看 E:\application\apache-jmeter-5.4\demo\report 下的html和jtl文件建是否有报告生成

四、jenkins部署

1.安装jenkins
可参考我的这篇文章jenkins下载安装

2.安装后,新建一个自由风格的项目  ....待更新

jenkins+ant+jmeter实现自动化集成(详解)的更多相关文章

  1. Jenkins+Ant+Jmeter接口自动化集成测试实例

    Jenkins+Ant+Jmeter接口自动化集成测试实例 一.Jenkins安装配置 1.安装配置JDK1.6+环境变量: 2.下载jenkins.war,放入C:\jenkins目录下,目录位置随 ...

  2. Jenkins+Ant+JMeter报告自动化

    1.参考Jenkins+Ant+JMeter集成,安装Jenkins(不需要安装Performance Plugin插件),建立Slave节点,连接Slave节点,创建任务等. 2.将Jenkins+ ...

  3. Jenkins+Ant+Jmeter搭建持续集成的接口测试平台(转)

    一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...

  4. jenkins+ant+jmeter接口自动化的持续集成

    一.jmeter.jenkins安装 这里不再说明,请看上一个随笔!!! 链接:https://www.cnblogs.com/magicYJ/p/11839646.html 二.ant安装 下载地址 ...

  5. 【转】Jenkins+Ant+Jmeter搭建持续集成的接口测试平台

    一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...

  6. Jenkins+ant+Jmeter接口自动化框架搭建

    工具准备 JDK: jdk1.8.0_111 Ant: apache-ant-1.9.9 Jmeter: apache-jmeter-3.1 Jenkins: jenkins-2.7.4 JDK安装 ...

  7. jenkins+ant+jmeter搭建持续集成的接口测试平台

    一.jemter接口脚本的编写步骤如下: 1. 编写接口请求 通过录制或者查看接口文档,编写接口请求,进行调试,确保接口调试通过,对于http的请求来说,就是正确的填写域名,查询字符串,查询参数等信息 ...

  8. Jenkins+Ant+Jmeter接口自动化集成测试

    一.Jmeter+ant 1.首先我们默认Jmeter脚本已经录制好了,并测试通过,存在(查询模块.jmx)脚本 2.将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.j ...

  9. 【转】Jenkins+Ant+Jmeter接口自动化集成测试实例

    出处:https://my.oschina.net/MrToStudy/blog/742251 一.Jenkins安装配置 1.安装配置JDK1.6+环境变量: 2.下载jenkins.war,放入C ...

随机推荐

  1. 装了IDM后看网页有时会自动弹出下载怎么办

    我们在安装了IDM之后,浏览一些网站时可能会自动弹文件下载窗口,但有时内容并非我们要下载的.对此类自动弹下载对话框的情况,操作者可进行自定义设置.不仅可通过设置文件格式来禁止自动弹窗,也可通过设置特定 ...

  2. 「CF578F」 Mirror Box

    description CF578F solution 考虑转化题目的要求 1.对于任意一条边,都存在一条从界垂直射入的光线,经过反射穿过这条边. 当图中有环时,环内的边一定不满足条件,而在不存在环时 ...

  3. sublime text3配置javascript运行环境

    步骤一 安装node.js 官网下载链接:node.js 步骤二 Sublime 依次点击 菜单栏 Tools => Build System => New Build System 步骤 ...

  4. X86中断/异常与APIC

    异常(exception)是由软件或硬件产生的,分为同步异常和异步异常.同步异常即CPU执行指令期间同步产生的异常,比如常见的除零错误.访问不在RAM中的内存 .MMU 发现当前虚拟地址没有对应的物理 ...

  5. 日期选择组件(DatePicker)的实现

    一.效果图 日期选择组件大概长这样: 从效果图可以看出,日期选择组件由两部分组成:日历表格和顶部操作栏. 二.日历表格 日期选择组件的核心主体是日历表格: 可以将日历表格表示成一个7️*的二维数组,数 ...

  6. MySQL中的事务原理和锁机制

    本文主要总结 MySQL 事务几种隔离级别的实现和其中锁的使用情况. 在开始前先简单回顾事务几种隔离级别以及带来的问题. 四种隔离级别:读未提交.读已提交.可重复读.可串行化. 带来的问题:脏读.不可 ...

  7. MFC二进制文件读取

    1.mfc Document-vew doc类中读取 doc类中读取,在Vew类中可直接使用. 在菜单栏NewFile/OpenFile 后,系统自动调用Serialize()函数 if :写入文件 ...

  8. LeetCode 018 4Sum

    题目描述:4Sum Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c ...

  9. cJSON的使用

    1 安装cJSON github地址:https://github.com/DaveGamble/cJSON.git 下载完成后进入cJSON目录,执行下面命令生成Makefile文件 mkdir b ...

  10. Python妙用re.sub分析正则表达式匹配过程

    声明:本文所使用方法为老猿自行研究并编码,相关代码版权为老猿所有,禁止转载文章,代码禁止用于商业用途! 在<第11.23节 Python 中re模块的搜索替换功能:sub及subn函数>介 ...