Step1:安装Jenkins,从指定git上拉代码【安装步骤忽略】

Step2:在项目安装的linux server上安装Ant 和Jmeter,我都安装在了自己的目录上,如下图

Step3:编写build文件,注意更改一下自己的邮箱和server name

<?xml version="1.0" encoding="utf-8"?>
<project name="autotest" default="all" basedir="/opt/jmxfile/shownow">
<property name="JMeter.home" value="/opt/jmeter5.1.1"/>
<property name="mail_to" value="test@xxx.com"/>
<property name="ReportName" value="ShowNow_CI_Report"/>
<property name="ComputerName" value="118:25:182:23"/>
<tstamp>
<format property="time" pattern="yyyyMMddhhmm"/>
</tstamp>
<target name="all">
<antcall target="runJmxFiles"/>
<antcall target="genReport"/>
<antcall target="sendEmail"/>
</target>
<target name="runJmxFiles" depends="">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
<jmeter jmeterhome="${JMeter.home}" resultlog="${basedir}/Result/${ReportName}${time}.jtl">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->
<testplans dir="${basedir}" includes="*.jmx"/>
</jmeter>
</target>
<!-- 解决不显示时间的问题 -->
<path id="xslt.classpath">
<fileset dir="${JMeter.home}/lib" includes="xalan-2.7.2.jar"/>
<fileset dir="${JMeter.home}/lib" includes="serializer*.jar"/>
</path>
<target name="genReport" depends="">
<xslt classpathref="xslt.classpath"
force="true"
in="${basedir}/Result/${ReportName}${time}.jtl"
out="${JMeter.home}/extras/${ReportName}${time}.html"
style="${JMeter.home}/extras/jmeter-results-detail-report_21.xsl">
<param name="showData" expression="${show-data}"/>
<param name="titleReport" expression="${ReportName}${time}"/>
<param name="dateReport" expression="${ReportName}${time}"/>
</xslt>
</target>
<target name="sendEmail">
<mail mailhost="smtp.qq.com" mailport="25" user="xxx@foxmail.com" password="xxxx"
subject="国际站Shownow重点链路脚本 Jmeter Report!"
messagemimetype="text/html"
tolist="${mail_to}">
<from address="xxx@foxmail.com"/>
<fileset dir="${JMeter.home}/extras/">
<include name="${ReportName}${time}.html"/>
</fileset>
<message>This email was sent automatically by ANT + Jmeter. <br>
If there are any questions, please contact with xxx. Thank you! <br></message>
</mail>
</target>
</project>

Step4:放置一个jmx工程到指定目录,我这边是到目录 /home/jasqia/apache-jmeter4.0/jmxfile/ikea

Step5:在服务器上运行试试看:

/home/jasqia/apache-ant-1.10.3/bin/ant -file /home/jasqia/apache-jmeter4.0/jmxfile/ikea/build.xml

下图是我埋坑之后,运行成功的结果啦 ^_^

Step6:在Jenkins上配置,在重启tomcat中间件后,自动运行该接口测试工程并发送邮件:

the Last Step: 立即部署,运行之后检查邮箱收到的邮件,我这边成功收到,测试报告是附件形式发送的。 开森 ^_^

总结一下过程中遇到的问题:

Error 1: 如下截图,很明显的错误

没有将jmeter中的ant包放到ant的lib目录下,具体目录是在jmeter的extras目录下的ant-jmeter-1.1.1.jar,复制或者剪切到ant的lib下即可

Error2:  [xslt] /home/jasqia/apache-jmeter4.0/jmxfile/ikea/xxx  Fatal Error! Premature end of file.【大概描述】

没有将jmeter  property文件中的output类型从csv更新成xml,并将之前的#去除

Error3:javax email minepackage【大概描述】

我下的ant安装包不带mail的jar包,需要找寻一下再去放ant的lib下

以后我会将各种坑进行截屏的 哈哈哈

Jenkins + Ant + Jmeter 对项目的接口进行CI持续集成的配置 外加发送邮件 sendEmail的更多相关文章

  1. Jenkins的CI持续集成

    Jenkins的CI持续集成 全局配置 系统管理->全局工具配置,配置Git,JDK和Maven 1)解压maven到当前目录 tar zxf apache-maven-3.5.4-bin.ta ...

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

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

  3. jenkins+ant+jmeter html报告文件作为附件发送(ant-jmeter支持javamail)

    前言:由于ant-jmeter目前的版本不支持javamail,也就是说发送邮件时只能借助jenkins自带的发送邮件插件来发送报告. 但是jenkins发送邮件支持发送邮件内容(且有价值.有营养的内 ...

  4. 性能测试四十八:Jenkins+Ant+Jmeter系统部署

    工作步骤: 1.开发提交代码SVN/Git 2.代码编译.打war包 3.上传war包到服务器 4.重启web服务器 5.开始测试/自动化测试 6.发测试结果 Jenkins工作: 1.开发提交代码G ...

  5. Jenkins+Ant+Jmeter自动化测试平台

            持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动 ...

  6. Jmeter+jenkins如何快速搭建接口和性能测试持续集成解决方案-[基于windows篇]

    最近在用Jmeter本来想写一个详细的使用教程,突然看到有前辈已经写好了不错的教程,特此"借花献佛"整理出来分享给大家! Jenkins + Jmeter 构建接口.性能测试持续集 ...

  7. mac: jenkins+ant+jmeter接口测试

    最近研究Jenkins平台上使用ant进行集成测试,在网上查阅了很多资料,将 jenkins+ant+jmeter简单使用方法记录下来,方便以后查阅.有很多不足之处,后期不断优化. 一.环境搭建 1. ...

  8. Jenkins +Ant +Jmeter(apache-jmeter-5.1.1)自动化性能测试平台

    1.安装配置好Jdk, 下载网址:https://www.cr173.com/soft/33894.html 2.Jmeter下载地址:http://jmeter.apache.org/downloa ...

  9. jenkins+ant+jmeter实现自动化集成(详解)

    jenkins+ant+jmeter实现自动化集成 for window 一.jmeter 1.jmeter安装 二.ant 1.ant安装 三.ant运行 jmeter脚本 1.配置 四.jenki ...

随机推荐

  1. PAT Waiting in Line[转载]

    //转自:https://blog.csdn.net/apie_czx/article/details/45537627 1014 Waiting in Line (30)(30 分)Suppose ...

  2. LNMPA架构剖析

    LAMP或LNMP的劣势: Nginx是小巧而高效的Linux下Web服务器,跟Apache相比,它消耗资源更少,支持的并发连接更多,反向代理功能效率高.静态文件处理更快等等,Nginx可以承受3万以 ...

  3. Directed Graph Loop detection and if not have, path to print all path.

    这里总结针对一个并不一定所有点都连通的general directed graph, 去判断graph里面是否有loop存在, 收到启发是因为做了[LeetCode] 207 Course Sched ...

  4. CloudFlare防护下的破绽:寻找真实IP的几条途径

    本文仅代表作者独立观点,本文提及的技术仅供安全研究和渗透测试用途 看Twitter发现CloudFlare总裁什么的最近很高调,北京.香港的跑着参加会议.发表演说什么的,CloudFlare似乎也没那 ...

  5. (转)mysql数据文件解析

    一 数据文件 在 MySQL中每一个数据库都会在定义好(或者默认)的数据目录下存在一个以数据库名字命名的文件夹,用来存放该数据库中各种表数据文件.不同的 MySQL存储引擎有各自不同的数据文件,存放位 ...

  6. node初识——node中的require方法与require.js的区别

    出处:http://blog.csdn.net/u013613428/article/details/51966500 作为一个前端的新手,总是诧异于js的模块载入方式,看到了通过requireJs提 ...

  7. PKU2503_map应用

    Description You have just moved from Waterloo to a big city. The people here speak an incomprehensib ...

  8. Hive四种数据导入方式介绍

    问题导读 1.从本地文件系统中通过什么命令可导入数据到Hive表? 2.什么是动态分区插入? 3.该如何实现动态分区插入? 扩展: 这里可以和Hive中的三种不同的数据导出方式介绍进行对比? Hive ...

  9. silverlight数据绑定

    控件绑定 <Grid x:Name="LayoutRoot"> <StackPanel> <ScrollBar x:Name="bar&qu ...

  10. 容器技术与DevOps

    容器技术的使用支撑了目前 DevOps 三大主要实践:工作流.及时反馈.持续学习. 有人说容器技术与 DevOps 二者在发展的过程中是互相促进的关系.得益于 DevOps 设计理念的流行,容器生态系 ...