jmeter3.0+ant1.10+jenkins实现接口自动化并发送邮件
有很多关于接口自动化的文章,此篇仅用于记录自己的学习用。使用jmeter3.0+ant1.10+jenkins2.实现接口自动化并发送邮件,本篇是用的编写build文件来实现发送邮件,也可以用jenkins自带的邮件工具
目录
1、环境准备
2、build.xml准备
3、jenkins配置
1、环境准备
a.装好jdk1.8
确认环境配好了:

b.装好ant1.10.1
ant和jmeter一样配置好环境变量就可以使用了,需要配置如下:
ANT_HOME=E:\apache-ant-1.10.1
CLASSPATH=E:\apache-ant-1.10.1\lib
PATH=E:\apache-ant-1.10.1\bin
确认配置正确:

c.装好jenkins(在官网下载最新版即可)
准备好jenkins.war包,我们可以通过启动应用服务器程序中间件(tomcat)的方式或者java程序来启动jenkins服务,这里我用java程序启动服务安装:
在jenkins.war目录下执行java -jar jenkins.war启动安装,然后通过http://localhost:8080/访问jenkins,填充dos中的密码命令行或者到提示的目录中找到密码粘贴到页面密码输入框;安装推荐的插件,设置用户名密码,即可完成安装
可以找到密码的位置提示:


安装推荐的插件:

设置用户名密码:

安装完毕:

d.ant的lib文件更新
1、将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中
2、往ant的lib目录放javax.mail.jar(链接:https://pan.baidu.com/s/1-Rb0rp6me1ERLl6KIhtDvQ 提取码:ep6y
)或者mail-1.4.7.jar+activation-1.1.1.jar

2、build.xml准备
a.修改Jmeter3.0的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml

b.配置好build.xml
在jmeter目录下,建立demo文件夹,放入脚本文件(用jmeter编译通过的)和build文件(新建一个xml文件,补充内容)

完整的build文件内容如下,可根据实际情况进行修改:
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp> <property name="jmeter.home" value="E:\apache-jmeter-3.0" /> <!-- 配置为本机实际路径 --> <property name="jmeter.result.jtl.dir" value="E:\apache-jmeter-3.0\report\jtl" /> <!-- 配置为本机实际路径 --> <property name="jmeter.result.html.dir" value="E:\apache-jmeter-3.0\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" />
<!-- 接收测试报告的邮箱 -->
<property name="mail_to" value="123@qq.com" />
<target name="run">
<antcall target="test" />
<antcall target="report" />
<antcall target="sendmail" />
</target> <target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <testplans dir="E:\apache-jmeter-3.0\demo" includes="*.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> </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">
<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.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>
<!-- 发送邮件 --> <target name="sendmail" >
<mail mailhost="smtp.163.com"
mailport="465"
ssl="true"
user="123@163.com"
password="123456"
subject="接口测试报告"
from="4562@163.com"
>
<to address="123@qq.com"/>
<message>详细报告请查看附件</message>
<attachments>
<fileset dir="${jmeter.result.html.dir}">
<include name="${ReportName}${time}.html"/>
</fileset>
</attachments>
</mail>
</target>
</project>
3、jenkins配置
a.创建一个自由风格的job:

b.做好构建配置
第一步:在jenkins配置好系统安装的jdk和ant路径:


第二步:准备好要执行的脚本文件

第三步:做好构建配置

c.点击立即构建即可

构建完毕,就可以收到一封带有接口测试报告的邮件了

d.配置定时任务执行
这个网站可以很清晰的看到如何配置,http://www.testclass.net/jenkins/setting-time/
如:希望每天2小时执行一次,则配置成 H H(0-23)/2 * * *(分钟 小时 天 月 星期),保存后就会每隔2小时运行一次

另:调试脚本时,可以不用jenkins来操作,直接进入jmeter的脚本的目录,执行ant run,然后查看收到的邮件结果
注意:
1、ant目录中lib要补充全,ant-jmeter-1.1.1.jar、javax.mail.jar这2个一定放进去
2、jmeter的jmeter.properties文件中要变更xml的也不要掉了
3、build文件中的信息,以实际路径为准
4、发现的jenkins的版本不是最新的,想要卸载,没找到办法,最后通过在本机搜索jenkins,然后删除了与jenkins有关的文件夹,重新装了一遍
5、build不成功时,可以看下jenkins的控制台,看下失败的错误原因
jmeter3.0+ant1.10+jenkins实现接口自动化并发送邮件的更多相关文章
- Jmeter+ant+Jenkins实现接口自动化平台及报告发送
项目中实现了比较方便的自动化体系,一直没时间总结一下,现抽空整理一番,废话不多说 内容如下: 一.环境准备 jmeter : 编写接口脚本,实现接口测试 ant :静默执行jmeter脚本,并生 ...
- Jmeter+Ant+Jenkins实现接口自动化(转载)
转载自 http://www.cnblogs.com/chengtch/p/6145867.html 本文转载于上面的网址,稍作修改,实用性更强. Jmeter是压力测试.接口测试工具,Ant是基于 ...
- python(pytest)+allure+jenkins 实现接口自动化的思路
效果图镇楼: 上述各模块作用: python(pytest): 1:用于读测试用例(本次用例写在csv文件中) 2:环境配置相关 3:提取1中的测试数据,组成请求体 4:发送请求 5:获取结果 6:断 ...
- 关于Jmeter+Ant+Jenkins作为接口、性能自动化框架的误区
说明:Apach-Jmeter有完善的桌面客户端,关联数据的处方方式,各种参数化的方式,各种Jar包的扩展,也可以用作抓包工具使用,当然最重要的是它是[开源!开源!开源!],重要的事说三遍,目前也有基 ...
- Win10系统Jmeter+maven+Jenkins接口自动化环境搭建(一)
Jmeter+maven+Jenkins实现接口自动化,需要使用idea或eclipse配置maven项目,这里我使用的是idea.具体步骤如下: 1.安装jmeter+jdk jmeter安装之前需 ...
- Jmeter+Ant+Jenkins构建接口自动化测试平台(Windows)
一.首先先介绍下我的环境: 1. win10系统 2. ant版本:apache-ant-1.10.1(作用:执行脚本,便于后期的持续集成,下载地址:http://ant.apache.org/bin ...
- python接口自动化11-post传data参数案例
前言: 前面登录博客园的是传json参数,有些登录不是传json的,如jenkins的登录,本篇以jenkins登录为案例,传data参数. 一.登录jenkins抓包 1.登录jenkins,输入账 ...
- 1、大型项目的接口自动化实践记录--robotframework环境搭建
因为人力.团队技术问题,选用robotframework来做自动化,首先说下环境搭建 齐涛道长的入门教程非常棒:http://blog.csdn.net/tulituqi/article/detail ...
- Jmeter+ant+Jenkins接口自动化框架搭建
摘自:https://testerhome.com/topics/13389 一.背景 上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接 ...
随机推荐
- [Codeforces 1205B]Shortest Cycle(最小环)
[Codeforces 1205B]Shortest Cycle(最小环) 题面 给出n个正整数\(a_i\),若\(a_i \& a_j \neq 0\),则连边\((i,j)\)(注意i- ...
- Codeforces 609E (Kruskal求最小生成树+树上倍增求LCA)
题面 传送门 题目大意: 给定一个无向连通带权图G,对于每条边(u,v,w)" role="presentation" style="position: rel ...
- 持续集成工具——Jenkins
一.jenkins简介 1.持续集成工具 2.基于JAVA环境 二.环境搭建 1.安装JDK 2.安装配置git 3.安装配置tomcat Tomcat是针对Java的一个开源中间件服务器(容器),基 ...
- JWT详解-(JSON Web Token教程)
JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理和用法. 一.跨域认证的问题 互联网服务离不开用户认证.一般流程是下面这样. 1.用户向服务器发送用户名和密 ...
- 2019牛客暑期多校训练营(第四场) - K - number - dp
https://ac.nowcoder.com/acm/contest/884/K 一开始整了好几个假算法,还好测了一下自己的样例过了. 考虑到300的倍数都是3的倍数+至少两个零(或者单独的0). ...
- 一些WinAPI 处理 字符的函数和连接(GetACP和SetThreadLocale最重要,还有SetConsoleCP)
虽然东西都是现成的.但是也要脑子里有个概念. // 地区与语言GetACP 取得 ANSI code page,法语XP+设置中文内核 = 936 // ShowMessage(IntToStr(Ge ...
- Javascript | DOM\DOM树浅析
DOM Document Object Model(文档对象模型) 定义了表示和修改文档所需的方法. DOM对象即为宿主对象,由浏览器厂商定义,用来操作html和xml功能的一类对象的集合.也有人称D ...
- linux设定 runlevel 3
runlevel 查看当前系统运行级别 vi /etc/inittab //运行级别配置文件
- uniq 去除重复行
1.命令功能 uniq可以输出或忽略文件中的重复行,经常需要使用sort先对文件进行排序,然后使用uniq去重并计数. 2.语法格式 uniq option input uniq 选项 ...
- 【leetcode】1027. Longest Arithmetic Sequence
题目如下: Given an array A of integers, return the length of the longest arithmetic subsequence in A. Re ...