Jenkins + Ant + Jmeter 对项目的接口进行CI持续集成的配置 外加发送邮件 sendEmail
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的更多相关文章
- Jenkins的CI持续集成
Jenkins的CI持续集成 全局配置 系统管理->全局工具配置,配置Git,JDK和Maven 1)解压maven到当前目录 tar zxf apache-maven-3.5.4-bin.ta ...
- Jenkins+Ant+Jmeter接口自动化集成测试实例
Jenkins+Ant+Jmeter接口自动化集成测试实例 一.Jenkins安装配置 1.安装配置JDK1.6+环境变量: 2.下载jenkins.war,放入C:\jenkins目录下,目录位置随 ...
- jenkins+ant+jmeter html报告文件作为附件发送(ant-jmeter支持javamail)
前言:由于ant-jmeter目前的版本不支持javamail,也就是说发送邮件时只能借助jenkins自带的发送邮件插件来发送报告. 但是jenkins发送邮件支持发送邮件内容(且有价值.有营养的内 ...
- 性能测试四十八:Jenkins+Ant+Jmeter系统部署
工作步骤: 1.开发提交代码SVN/Git 2.代码编译.打war包 3.上传war包到服务器 4.重启web服务器 5.开始测试/自动化测试 6.发测试结果 Jenkins工作: 1.开发提交代码G ...
- Jenkins+Ant+Jmeter自动化测试平台
持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动 ...
- Jmeter+jenkins如何快速搭建接口和性能测试持续集成解决方案-[基于windows篇]
最近在用Jmeter本来想写一个详细的使用教程,突然看到有前辈已经写好了不错的教程,特此"借花献佛"整理出来分享给大家! Jenkins + Jmeter 构建接口.性能测试持续集 ...
- mac: jenkins+ant+jmeter接口测试
最近研究Jenkins平台上使用ant进行集成测试,在网上查阅了很多资料,将 jenkins+ant+jmeter简单使用方法记录下来,方便以后查阅.有很多不足之处,后期不断优化. 一.环境搭建 1. ...
- Jenkins +Ant +Jmeter(apache-jmeter-5.1.1)自动化性能测试平台
1.安装配置好Jdk, 下载网址:https://www.cr173.com/soft/33894.html 2.Jmeter下载地址:http://jmeter.apache.org/downloa ...
- jenkins+ant+jmeter实现自动化集成(详解)
jenkins+ant+jmeter实现自动化集成 for window 一.jmeter 1.jmeter安装 二.ant 1.ant安装 三.ant运行 jmeter脚本 1.配置 四.jenki ...
随机推荐
- soapUI-DataGen
1.1.1 DataGen 1.1.1.1 概述 – DataGen DataGen TestStep可用于生成要用作TestCases中的输入的数据,例如数字或日期序列,随机选择等.生成的数据可作 ...
- [LeetCode] 198. House Robber _Easy tag: Dynamic Programming
You are a professional robber planning to rob houses along a street. Each house has a certain amount ...
- Python OS模块重要知识点
Python OS模块重要知识点 这几点很重要,主要是关于文件路径,我之前踩了很多坑,今天总结一下,方便以后能够避免与path相关的各种坑! 1,首先我们想获取某个文件夹下面的所有文件夹以及文件(不包 ...
- testng入门教程11 TestNG运行JUnit测试
现在,您已经了解了TestNG和它的各种测试,如果现在担心如何重构现有的JUnit代码,那就没有必要,使用TestNG提供了一种方法,从JUnit和TestNG按照自己的节奏.也可以使用TestNG执 ...
- location对象查询字符串参数
虽然location.search可以返回从问号到URL末尾的所有内容,但却没有办法逐个访问其中的每个查询字符串参数.为此,可以创建下面这样一个函数,用以解析查询字符串,然后返回包含所有参数的一个对象 ...
- PHP 自定义header 参数获取的问题
有的情况下,我们需要把参数放在Headers 里传递.比如说与提供给移动端的api,不能进行缓存的时候. 但是,自定义的header 经常是拿不到的. 如果是apache 的服务器,可以用 apach ...
- app加密算法
php端 <?phpnamespace app\controllers;use yii\web\Controller;class TestController extends Controlle ...
- FastReport问题整理(转)
FastReport问题整理 博客分类: 软件开发 部分来自网上,部分来自网友,部分来自Demo如果有新的内容,会不断更新.. 更新历史: 2009-02-27 加入套打方案全攻略(原:jinzh ...
- python recv()是什么
socket有个recv方法,recv有一个参数,指定数据缓冲区的大小 但是现在的问题就是不知道将要接受的数据的大小到底是多少,可能只有几个字节,可能会有几M,google了一下socket的入门文章 ...
- Java设计模式应用——工厂模式
工厂模式有三种:简单工厂.工厂方法.抽象工厂 一. 抽象工厂 1. 一个可以生产多种产品的工厂: 2. 不改变工厂无法生产新的产品. package com.coshaho.learn.factory ...