有很多关于接口自动化的文章,此篇仅用于记录自己的学习用。使用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实现接口自动化并发送邮件的更多相关文章

  1. Jmeter+ant+Jenkins实现接口自动化平台及报告发送

    项目中实现了比较方便的自动化体系,一直没时间总结一下,现抽空整理一番,废话不多说  内容如下: 一.环境准备  jmeter : 编写接口脚本,实现接口测试 ant  :静默执行jmeter脚本,并生 ...

  2. Jmeter+Ant+Jenkins实现接口自动化(转载)

    转载自  http://www.cnblogs.com/chengtch/p/6145867.html 本文转载于上面的网址,稍作修改,实用性更强. Jmeter是压力测试.接口测试工具,Ant是基于 ...

  3. python(pytest)+allure+jenkins 实现接口自动化的思路

    效果图镇楼: 上述各模块作用: python(pytest): 1:用于读测试用例(本次用例写在csv文件中) 2:环境配置相关 3:提取1中的测试数据,组成请求体 4:发送请求 5:获取结果 6:断 ...

  4. 关于Jmeter+Ant+Jenkins作为接口、性能自动化框架的误区

    说明:Apach-Jmeter有完善的桌面客户端,关联数据的处方方式,各种参数化的方式,各种Jar包的扩展,也可以用作抓包工具使用,当然最重要的是它是[开源!开源!开源!],重要的事说三遍,目前也有基 ...

  5. Win10系统Jmeter+maven+Jenkins接口自动化环境搭建(一)

    Jmeter+maven+Jenkins实现接口自动化,需要使用idea或eclipse配置maven项目,这里我使用的是idea.具体步骤如下: 1.安装jmeter+jdk jmeter安装之前需 ...

  6. Jmeter+Ant+Jenkins构建接口自动化测试平台(Windows)

    一.首先先介绍下我的环境: 1. win10系统 2. ant版本:apache-ant-1.10.1(作用:执行脚本,便于后期的持续集成,下载地址:http://ant.apache.org/bin ...

  7. python接口自动化11-post传data参数案例

    前言: 前面登录博客园的是传json参数,有些登录不是传json的,如jenkins的登录,本篇以jenkins登录为案例,传data参数. 一.登录jenkins抓包 1.登录jenkins,输入账 ...

  8. 1、大型项目的接口自动化实践记录--robotframework环境搭建

    因为人力.团队技术问题,选用robotframework来做自动化,首先说下环境搭建 齐涛道长的入门教程非常棒:http://blog.csdn.net/tulituqi/article/detail ...

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

    摘自:https://testerhome.com/topics/13389 一.背景  上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接 ...

随机推荐

  1. node.js—创建、删除、追加文件等方法汇总

    使用Node.js的fs模块必须在electron项目里 /* 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 3. fs ...

  2. 多线程02-Join

        ; i < ; i++)             {                 Console.WriteLine(i);             }             Co ...

  3. CTF夺旗赛丨网络内生安全试验场第四季圣诞赛明日开赛!

    期待许久的圣诞狂欢就要来喽 <Jingle bell>欢快的旋律 在耳边翩翩起舞 白胡子老爷爷骑着麋鹿准时来送礼物 2019圣诞节 i 春秋做你的圣诞老人 参加CTF欢乐圣诞赛 你提交答案 ...

  4. java8 stream 用法收集

    public class Test1 { public static void main(String[] args) { List<Integer> numbers = new Arra ...

  5. Java对象多态性——对象的转型(引用类型之间的类型转换)

    Java引用变量有两个类型:编译时类型和运行时类型.编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定. 若编译时类型和运行时类型不一致,就出现多态 正常的方法调用(本态调用 ...

  6. [BZOJ 3731] Gty的超级妹子树 (树分块)

    [BZOJ 3731] Gty的超级妹子树 (树分块) 题面 给出一棵树(或森林),每个点都有一个值.现在有四种操作 1.查询x子树里>y的值有多少个 2.把点x的值改成y 3.添加一个新节点, ...

  7. 对于call,apply,bind 的理解

    JavaScript 中 call().apply().bind() 的用法 之前对与JavaScript中的call,apply,bind这几个方法一直理解的很模糊,今天总结一下. 例1 var n ...

  8. Solr的学习使用之(六)获取数据列表-SolrDocumentList

    以下是我项目中获取新闻数据列表的写法,包括数据总量.数据列表,接下来会贴出分片查询(facet)等高级查询 基本的注释都有了: private ListPage<News> queryFr ...

  9. 2018-11-26-win10-UWP-Controls-by-function

    title author date CreateTime categories win10 UWP Controls by function lindexi 2018-11-26 20:0:6 +08 ...

  10. Codeforces Round #426 (Div. 2) - A

    题目链接:http://codeforces.com/contest/834/problem/A 题意:给定4个图标,某些图标经过顺时针/逆时针旋转90°后能得到另外一些图标.现在给你开始的图标和结束 ...