Jmeter+ant+Jenkins构建接口自动化测试
1、已写好jmeter脚本
2、安装ant并将ant-jmeter-1.1.1.jar文件放入ant/lib目录,用于调用jmeter
3、修改jmeter的jmeter.properties文件(将下面配置直接放入改文件):
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
jmeter.save.saveservice.response_data=true
# Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=false
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true
4、网上找个jmeter.results.shanhe.me.new.xsl包放入jmeter\extras目录中:报告输出模板
5、新建一个TestCase(用于放测试脚本及报告和构建文件build.xml)
6、在TestCase新建report文件和build.xml文件,及将执行脚本放入TestCase文件中:
report文件新建HTML和JTL文件夹用于存放生成的html报告及jtl文件
build.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="E:\apache-jmeter-5.0\apache-jmeter-5.0" />
<property name="report.title" value="接口测试"/>
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="E:\apache-jmeter-5.0\apache-jmeter-5.0\TestCase\report\JTL" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="E:\apache-jmeter-5.0\apache-jmeter-5.0\TestCase\report\HTML" />
<!-- 生成的报告的前缀-->
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />
<target name="run">
<antcall target="test" />
<antcall target="report" />
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplans dir="E:\apache-jmeter-5.0\apache-jmeter-5.0\TestCase" 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.shanhe.me.new.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>
7、安装Jenkiins 并构建jmeter脚本
构建环境选用调用ant,把刚配置好的构建文件build.xml路径放到构建文件中,
再添加一个window批处理命令,用于删除上次产生的jtl文件(作用:使报告不产生重复数据):
cd E:\apache-jmeter-5.0\apache-jmeter-5.0\bin
E:
del /s /Q E:\apache-jmeter-5.0\apache-jmeter-5.0\TestCase\report\JTL\TestReport.jtl
pause
构建后操作添加一个Publish Html report(插件自行下载)用于在jenkins上显示报告,对应加上测试报告文件路径及报告名称
新增一个构建后操作:邮件发送,Editable Email Notification
Default Content(报告样式)可到网上自己找或自己写一个:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title></head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
<div>
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<th align="center" colspan="2">
<br />
<h2>构建信息</h2></th>
</tr>
<tr>
<td>
<ul>
<li>项目名称 : ${PROJECT_NAME}</li>
<br />
<li>详细测试报告 :
<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
<br />
<li>说明:打开测试报告地址后请点击HTML Report查看报告详情</li>
<br />
<li>触发原因: ${CAUSE}</li>
<br />
<li>项目 Url :
<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
<br /></ul>
</td>
<td>${JELLY_SCRIPT,template="html"}
<br/></tr>
<tr>
<td colspan="2" align="center">
<br />
</tr>
<tr>
<td colspan="2" align="center">
</tr>
</table>
</div>
</body>
</html>
8、Jenkins发送邮箱配置---系统配置:
Password为邮箱客户端授权密码
Default Content:配置默认格式
9、集成到钉钉发送钉钉提示信息:
系统配置-插件管理下载钉钉插件
10、在构建项目-配置中新增构建后操作添加钉钉机器人后复制对应的 token就可以了:
11、测试报告:
Jmeter+ant+Jenkins构建接口自动化测试的更多相关文章
- Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因
Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因:接口响应数据中有&#
- Jmeter+Ant+Jenkins构建接口自动化测试平台(Windows)
一.首先先介绍下我的环境: 1. win10系统 2. ant版本:apache-ant-1.10.1(作用:执行脚本,便于后期的持续集成,下载地址:http://ant.apache.org/bin ...
- jmeter+ant+jenkins搭建接口自动化测试环境
jmeter+ant+jenkins搭建接口自动化测试环境(基于win) 1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmete ...
- 七、Jmeter + ant + jenkins轻量级接口自动化测试
七.Jmeter + ant + jenkins轻量级接口自动化测试 杀猪不用牛刀,工具没有牛逼高大尚之分,每个工具都有存在的理由:关键是看会不会用,怎么用,有没有用在合适的地方. 需要安装的工具: ...
- jmeter+ant+jenkins 搭建接口自动化测试
一.jmeter 我用的jmeter3.2 jmeter要运行,必须本地有java环境,所以需要配置jdk什么的,自行配置 二.ant 安装ant 第一步:下载ant http://ant.a ...
- jmeter+ant+jenkins搭建接口自动化测试环境(基于win)
1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmeter.apache.org/download_jmeter.cgi),我用的 ...
- 使用jmeter+ant+jenkins实现接口自动化测试
摘自:https://blog.51cto.com/6183574/2318519 本次使用linux环境搭建自动化框架 一.配置ANT 首先下载Ant压缩包,下载地址:http://ant.apac ...
- jmeter+ant+jenkins 搭建接口自动化测试环境
过程参考:http://www.cnblogs.com/lxs1314/p/7487066.html 1. 安装ant 2. 安装jenkins 遇到问题: 启动Tomcat后,访问http://lo ...
- 关于Jmeter+Ant+Jenkins作为接口、性能自动化框架的误区
说明:Apach-Jmeter有完善的桌面客户端,关联数据的处方方式,各种参数化的方式,各种Jar包的扩展,也可以用作抓包工具使用,当然最重要的是它是[开源!开源!开源!],重要的事说三遍,目前也有基 ...
随机推荐
- 解决:Tomcat 局域网IP地址 访问不了
解决:Tomcat 局域网IP地址 访问不了 2014年10月17日 ⁄ 综合 ⁄ 共 1000字 ⁄ 字号 小 中 大 ⁄ 评论关闭 如果连最基本的localhost:8080都失败的话. 原因就一 ...
- 【转】Spring学习---Spring 学习总结
什么是Spring ? Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson在其著作Expert One-On-One J2EEDev ...
- django中url 和 path 的区别
django中 url 和 path 都是配置路径,有什么不同? django.urls path django.conf.urls url path 与 url 是两个不同的模块,效果都是响应返回 ...
- Azure DevKit(AZ3166)源码找不到头文件问题
Get “Error Presented: #include errors detected” when opening a project The error message is Error Pr ...
- Asp.net core 2.0.1 Razor 的使用学习笔记(二)
ASP.net core 2.0.1 中 asp.net identity 2.0.1 的基本使用(一)—启用用户管理 一.修改和启用默认的用户账户管理和角色管理 在Data目录中添加Applicat ...
- SDN2017 第四次实验作业
实验目的 1.使用图形化界面搭建拓扑如下并连接控制器 2.使用python脚本搭建拓扑如下并通过命令行连接控制器 3.使用任一种方法搭建拓扑连接控制器后下发流表 实验步骤 建立以下拓扑,并连接上ODL ...
- php包含那点事情[WOOYUN]
有空就多整理下曾经研究过的知识和需要温顾的知识,明年可能去寻工作络. 关于PHP中LFI(Local File Include,本地文件包含)漏洞,大家都很熟悉了;paper很多很多,特别是国外的.. ...
- python第三十一课--递归(2.遍历某个路径下面的所有内容)
需求:遍历某个路径下面的所有内容(文件和目录,多层级的) import os #自定义函数(递归函数):遍历目录层级(多级) def printDirs(path): dirs=os.listdir( ...
- Mapreduce运行过程分析(基于Hadoop2.4)——(二)
4.3 Map类 创建Map类和map函数.map函数是org.apache.hadoop.mapreduce.Mapper类中的定义的,当处理每一个键值对的时候,都要调用一次map方法,用户须 ...
- 无oracle客户端仅用plsql连接远程oracle
1.在安装ORACLE服务器的机器上搜索下列文件,oci.dllocijdbc10.dllociw32.dllorannzsbb10.dlloraocci10.dlloraociei10.dllsql ...