码迷,mamicode.com
首页 > 其他好文 > 详细

jmeter3.0+ant1.10+jenkins实现接口自动化并发送邮件

时间:2018-06-23 01:34:21      阅读:1328      评论:0      收藏:0      [点我收藏+]

标签:war   home   输入框   UI   ESS   coding   param   ssi   build   

网上有很多关于接口自动化的文章,此篇仅用于记录自己的学习记录用。jmeter3.0+ant1.10+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或者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文件内容如下,可根据实际情况进行修改:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project name="ant-jmeter-test" default="run" basedir=".">
 3     <tstamp>
 4         <format property="time" pattern="yyyyMMddhhmm" />
 5     </tstamp>
 6    <!-- 配置为本机jmeter安装实际路径 -->
 7     <property name="jmeter.home" value="D:\Program Files\apache-jmeter-3.1" /> 
 8     <!-- 配置为本机jtl报告放置路径 -->
 9     <property name="jmeter.result.jtl.dir" value="D:\Program Files\apache-jmeter-3.1\report\jtl" /> 
10     <!-- 配置为本机html报告放置路径 -->
11     <property name="jmeter.result.html.dir" value="D:\Program Files\apache-jmeter-3.1\report\html" />
12     
13     <property name="ReportName" value="TestReport" />
14     <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
15     <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
16      <!-- 接收测试报告的邮箱 -->  
17     <property name="mail_to" value="456@qq.com" />  
18     <target name="run">
19         <antcall target="test" />
20         <antcall target="report" />
21         <antcall target="sendmail" />
22     </target>
23     
24     <target name="test">
25         <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
26         <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
27             
28             <testplans dir="D:\Program Files\apache-jmeter-3.1\demo" includes="*.jmx" />
29 
30    <property name="jmeter.save.saveservice.output_format" value="xml"/>
31 
32         </jmeter>
33     </target>
34  
35     <!-- 解决不显示时间 下方-->
36     <path id="xslt.classpath">
37         <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
38         <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
39     </path>
40    
41     <target name="report">
42      <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
43         <xslt classpathref="xslt.classpath"
44               force="true"                  
45               in="${jmeter.result.jtlName}"
46               out="${jmeter.result.htmlName}"
47               style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
48      <param name="dateReport" expression="${report.datestamp}"/>
49         </xslt>
50         <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->       
52         <copy todir="${jmeter.result.html.dir}">
53             <fileset dir="${jmeter.home}/extras">
54                 <include name="collapse.png" />
55                 <include name="expand.png" />
56             </fileset>
57         </copy>
58     </target>
59  
60   <!-- 发送邮件-->
61  <target name="sendmail" >  
62         <mail mailhost="smtp.163.com"  
63             mailport="465"  
64             ssl="true"        
65             user="123@163.com"  
66             password="123456"  
67             subject="测试报告"  
68             from="123@163.com" 
69 >
70             <to address="456@qq.com"/>  
71             <message>请查看附件</message>  
72               <attachments>  
73                 <fileset dir="${jmeter.result.html.dir}">   
74                   <include name="${ReportName}${time}.html"/>  
75                 </fileset>   
76               </attachments>  
77          </mail>
78  </target>
79 </project>

 

 3、jenkins配置

a.创建一个自由风格的job

技术分享图片b.做好构建配置

技术分享图片

c.点击立即构建即可

技术分享图片

 

 

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

技术分享图片

 

jmeter3.0+ant1.10+jenkins实现接口自动化并发送邮件

标签:war   home   输入框   UI   ESS   coding   param   ssi   build   

原文地址:https://www.cnblogs.com/weizhideweilai/p/9215905.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!