JMeter(2) 集成jmeter+ant+jenkins
一、ant安装
$su root
$vi /etc/bashrc
插入两行(i+enter插入)
export ANT_HOME=/usr/local/apache-ant-1.9.3
export PATH=${PATH}:${ANT_HOME}/bin
退出(exit),保存修改:wq!
exit
让配置立即生效:
$source /etc/bashrc
验证生效:
$ant -version
输出版本号即为成功
二、运行脚本前准备
录制Jmeter脚本0622.jmx
将JMeter->extras->ant-JMeter-1.1.1.jar复制到Ant->lib目录下(这样Ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发JMeter脚本)
jmeter默认保存的是.csv格式的文件,所以我们先要修改一下bin/jmeter.properties,保存 jmeter.save.saveservice.output_format=xml
主要逻辑思路:
运行script下面的.jmx脚本,生成.jtl文件放入resultLog\jtl文件中,ant在将相应的文件转换为对应的html文件放入resultLog\html中
<pre><code>
<?xml version="1.0" encoding="utf-8"?>
<project name="JmeterTest" default="all" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp><property name="jmeter.home" value="D:\software\apache-jmeter-3.0" />
<property name="jmeter.result.jtl.dir" value="D:\software\apache-jmeter-3.0\jmeterTest\resultLog\jtl" />
<property name="jmeter.result.html.dir" value="D:\software\apache-jmeter-3.0\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" /><property name="mail_to" value="1939986747@qq.com" />
<property name="ComputerName" value="Susie" />
<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}"><testplans dir="D:\software\apache-jmeter-3.0\jmeterTest\script" includes="0622.jmx" />
</jmeter>
</target><path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer.jar"/>
</path><target name="report">
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
<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></code></pre>
想要运行多个脚本的话可以修改配置文件里面的目标script
<pre><code>
<testplans dir="D:\software\apache-jmeter-3.0\jmeterTest\script" includes="*.jmx" />
</code></pre>
三、运行测试脚本
命令行进入到jmeterTest里面,运行ant命令,可以看到build成功

运行之前的文件目录

运行之后的文件目录,可看到生成了测试报告

<span id = "jump">跳转到这里:</span>
四、测试报告
- 测试报告为空,MinTime和MaxTime为NaN
样式表版本不对,所以网上找了到jmeter-results-detail-report_21.xsl,下载放到jmeter->extra下
把jmeter->lib下的xalan.jar、serializer.jar复制到ant->lib下
重新跑脚本,这次打开就是ok了
- 样式拓展
样式参考 http://shanhe.me/node/18/314,修改extras.build,下载shanghe.xml
五、集成jenkins
运行jenkins
命令行进入jenkins目录,运行 java -jar jenkins.war
浏览器打开http://localhost:8080/, 看到jenkins首页新建项目
新建->item名称->选择“自由风格”->ok,项目新建成功进入配置页构建触发器
想要定时构建,可以选择Build periodically,日程表参数解释如下:
第一个参数代表的是分钟minute,取值0~59;
第二个参数代表的是小时hour,取值0~23;
第三个参数代表的是天day,取值1~31;
第四个参数代表的是月month,取值1~12;
第五个参数代表的是星期week,取值0~7,0和7都代表星期天。
如 0 * * * * 表示每小时的第0分钟执行一次构建。
0 16 * * 1 表示每周一16时0分执行一次。
01 12 * * 1-5表示周一到周五的12点01分执行一次引入ant
构建->增加构建步骤->Invoke Ant->BuildFile 填build文件的地址执行任务
点击立即构建,立即运行一次任务在左下角BuildHistory里面可以查看运行结果详情
jenkins自带的报告插件查看测试结果
为了更加方便地查看测试报告,插件列表里面添加Publish Performance test result report和Publish HTML reports
项目的配置增加这两块:!!修改xml文件生成jtl和html文件的目录到jenkins的工作目录下(jenkins设置如此吧,只能读自己工作目录的文件,不然要修改jenkins的配置太麻烦了。゚(゚´ω`゚)゚。此处经过挺多波折不细说了)
<property name="jmeter.result.jtl.dir" value="C:\Users\11\.jenkins\workspace\jtl" />
<property name="jmeter.result.html.dir" value="C:\Users\11\.jenkins\workspace\html" />
好了再次保存后运行

可以看到历史报告在这里了,点进去看看吧 d(`・∀・)b

- 测试结果发布邮件
系统设置
设置发件邮箱信息,注意保持发件邮箱跟管理员邮箱一致==smpt服务器设置每个邮箱都不一样,点击发送测试邮件,收件箱会收到测试邮件
项目配置
运行一下工程,会收到邮件~报告样式后续优化
六、优化jenkins主题
因为jenkins的字体和界面丑得有点一言难尽,于是找到了
超棒的jenkins主题网站
按照教程做就ok~替换主题后界面顺眼很多:扁平化、字体也好看了

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!
广告
-->


你好,我按照你说的步骤去做,但是在构建的时候,没有找到Invoke Ant这个选项,请问我该如何操作呢?谢谢。

@susie酱 麻烦帮忙看下,这个是什么原因呢
Started by user Forkey
Building in workspace /Users/Shared/Jenkins/Home/workspace/JmeterTest
[JmeterTest] $ /Applications/apache-ant-1.10.1/bin/ant /Applications/apache-jmeter-3.2/jmeterTest/build.xml
Buildfile: /Users/Shared/Jenkins/Home/workspace/JmeterTest/build.xml
BUILD FAILED
Target "/Applications/apache-jmeter-3.2/jmeterTest/build.xml" does not exist in the project "JmeterTest".
Total time: 0 seconds
Build step 'Invoke Ant' marked build as failure
Finished: FAILURE

"!!修改xml文件生成jtl和html文件的目录到jenkins的工作目录下(jenkins设置如此吧,只能读自己工作目录的文件,不然要修改jenkins的配置太麻烦了"
嗨~ 这句话是说要在Jenkins 工作目录下也要创建jtl、html 文件夹么?
作者:susie酱
链接:https://www.jianshu.com/p/60cb4f03b872
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
JMeter(2) 集成jmeter+ant+jenkins的更多相关文章
- Jmeter自动化集成工具Ant的安装
一.Ant介绍 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.由Apache软件基金会所提供.只要使用过Linux系统的读者 ...
- JMeter+ant+jenkins自动化持续集成
一.ant安装配置 1.官网下载地址:http://ant.apache.org/bindownload.cgi 对应的操作系统选择对应的版本下载,本文以windows为列,下载后解压到本地 2.设置 ...
- 【此处有干货~】jmeter+ant+jenkins持续集成配置及过程中问题解决思路
本人是一枚工作近三年的小测试,大学正好专业为软件测试,在工作中用到最多的是功能测试.接口测试.压力测试.偶尔会涉及到性能测试......(小白,很多观念技术跟大佬差距太大,勿喷) 在接口测试过程当中, ...
- Jenkins+Jmeter持续集成笔记(二:ANT执行Jmeter脚本)
Jmeter接口测试脚本运行后生成的是jtl(xml)格式的文件,这些文件不具备可读性,所以我们要把他转化为可以阅读的html格式报告. Ant是一个功能强大的打包编译工具.我们使用他的目的是将xml ...
- Jmeter+Ant+Jenkins搭建持续集成的接口测试(推荐 Mark)
转自:http://my.oschina.net/hellotest/blog/516079 目录[-] 一.Jmeter+ant 二.Jmeter+ant+Jenkins 三.Tomcat配置虚拟目 ...
- jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)
jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter) 一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/jav ...
- Jmeter(二十七)Jmeter Question 之“集成Ant+Jenkins自动化”
首先介绍一下Ant.Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.由Apache软件基金会所提供. 是的.还是Apache家 ...
- Jmeter+Ant+Jenkins持续集成方案改进
关于Jmeter+Ant+Jenkins如何搭建持续集成环境,网上资料一大把,就不多说了,本文主要谈一下期间的问题及扩展该持续集成方案. 其实核心的流程不复杂,Jenkins管理构建项目,Ant配置脚 ...
- Jmeter+Ant+Jenkins搭建持续集成的接口测试框架
https://my.oschina.net/hellotest/blog/516079 摘要: 一个系统通常有多个接口,软件的生命周期中,我们会不断的去优化老的接口和开发新的接口,那么在这个过程中, ...
随机推荐
- chrome浏览器常用快捷键
chrome浏览器常用快捷键 一.总结 一句话总结: Ctrl + j:打开“下载内容”页 Ctrl + t:打开新的标签页,并跳转到该标签页 Ctrl + d:将当前网页保存为书签 1.在新标签页中 ...
- python基础-发邮件smtp
先来想下发送邮件需要填写什么,还需要有什么条件1.与邮件服务器建立连接,用户名和密码2.发邮件:发件人,收件人,主题,内容,附件3.发送 使用第三方邮箱发送邮件 #! /usr/bin/env pyt ...
- 剑指OFFER18 判断一个二叉树的子树
public class a18_IsSubTree { public static boolean hasSubTree(TreeNode treeRoot1, TreeNode treeRoot2 ...
- linux命令学习笔记(45):free 命令
free命令可以显示Linux系统中空闲的.已用的物理内存及swap内存,及被内核使用的buffer.在Linux系统监控的 工具中,free命令是最经常使用的命令之一. .命令格式: free [参 ...
- 瞎写的树dfs序
这里枚举了树的DFS序来解决树上问题的多个板子,自己最好多看看. ↓改↓ ↓求↓ 点 点 ————————>>>这个就算了 点 树 简单, BIT 点 链 重点! 树 树 简单, 线 ...
- 【Lintcode】033.N-Queens II
题目: Follow up for N-Queens problem. Now, instead outputting board configurations, return the total n ...
- NOI.AC 31 MST——整数划分相关的图论(生成树、哈希)
题目:http://noi.ac/problem/31 模拟 kruscal 的建最小生成树的过程,我们应该把树边一条一条加进去:在加下一条之前先把权值在这一条到下一条的之间的那些边都连上.连的时候要 ...
- zabbix3.2部署
原地址 http://blog.csdn.net/zk673820543/article/details/50680333 CentOS6.7zabbix3.0.0 1.基础软件包安装,采用yum ...
- 推荐几个Laravel 后台管理系统
小编推荐几个Laravel 后台管理系统 由百牛信息技术bainiu.ltd整理发布于博客园 一.不容错过的Laravel后台管理扩展包 —— Voyager 简介Voyager是一个你不容错过的La ...
- source和sh执行脚本时的差异
在CentOS7下,有如下脚:sh02.sh. 1 用sh或者bash执行 先执行echo $firstname $lastname 再执行 sh sh02.sh 最后执行 echo $firstna ...