jmeter+ant+jenkins接口自动化环境搭建
一、准备
1.安装jdk ---》点击查看安装教程
2.安装jmeter ,官网下载jmeter解压,配置jmeter环境:
JMETER_HOME (解压jdk路径)
Path (;%JMETER_HOME%\bin;)
CLASSPATH (; %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar)
检验是否安装成功:
在cmd中输入命令jmeter -v ,出现如下图,表示安装成功

使用:打开 F:\apache-jmeter-4.0\bin目录下的 jmeter.bat (windows是jmeter.bat, mac是jmeter),打开如下

编写接口测试脚本:点我查看!点我查看!点我查看!
3.安装ant ,下载解压ant,配置ant环境变量:
ANT_HOME D:\ant\apache-ant-1.9.7(安装路径)
path ;%ANT_HOME%\bin; 如果没有path变量,则新建一个。
检验是否安装成功:
在cmd中输入命令ant -v ,如图表示安装成功

4. ant + jmeter 组合
4.1、将Jmeter所在目录下extras子目录里的ant-jmeter-1.1.1.jar复制到ant所在目录lib子目录之下,ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,之后可以触发 Jmeter脚本
4.2、建了一个目录apache-jmeter-4.0\reportlog,目录中分别建立了html和jtl两个文件夹,之后Ant运行之后将jtl中的文件转换成html中
4.3、在...\apache-ant-1.9.7-bin文件中建立一个build.xml文件(将build.xml和脚本放到相同目录下面,方便操作),build.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmmss" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="/root/interface/apache-jmeter-2.13" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="/root/interface/result/jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="/root/interface/result/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" /> <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}">
<testplans dir="/root/interface/result/jmx" includes="*.jmx" />
<!-- testplans dir="D:\study\interface\result\jmx" 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.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>
</project>
4.4.修改build.xml
修改下图中标记1的位置路径
将2和3 位置修改为存放jtl和html报告的路径

将下图标记4的位置修改为jmeter脚本的存放路径
4.5、修改Jmeter的bin目錄下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml (build.xml需调用)

4.6 在存放脚本的目录下打开cmd,输入命令ant,出现如图所示的界面时,生成测试报告,报告保存在html文件夹中


5.解压并配置tomcat
解压Tomcat文件
新建变量名:CATALINA_BASE,变量值为tomcat安装路径
新建变量名:CATALINA_HOME,变量值为tomcat安装路径
打开PATH,添加变量值:;%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;(分号是把path的各个变量分开)
检验tomcat的环境是否成功:第一种方法,在cmd中,输入startup,按回车键,启动tomcat

6.安装jenkins
这里我们使用的方法是用servlet容器来部署jenkins,使用的是tomcat
jenkins直接安装到tomcat对应的webapps目录,启动tomcat之后直接http://localhost:8080访问jenkins(启动jenkins服务:net start jenkins 和 关闭jenkins服务命令:net stop jenkins)
二、集成到jenkins
1.启动jenkins

2.系统设置->管理插件->可选插件,搜索Performance (Jmeter报告需要),安装此插件

3.因为需要用到ANT和JDK,所以需要在jenkins中添加插件,选择点击“系统管理”,之后在Global Tool Configuration的界面看到ant和jdk选项,然后将自己本地的ANT和JDK地址填写上

三.定时构建
定时构建语法:
* * * * *(五颗星,中间用空格隔开)
第一颗*表示分钟,取值0~59
第二颗*表示小时,取值0~23
第三颗*表示一个月的第几天,取值1~31
第四颗*表示第几月,取值1~12
第五颗*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
eg:
每30分钟构建一次:H/30 * * * *
每2个小时构建一次:H H/2 * * *
每天早上8点构建一次:0 8 * * *
多个时间点,中间用逗号隔开:
每天的8点,12点,22点,一天构建3次:0 8,12,22 * * *
*:表示任意合理的数
a-b:表示一个范围,比如:5-8 * * * * OR * 5-8 * * *。具体表达的意思参考上面的含义
a-b/c OR */c:表示一个范围内每个c构建一次,比如:5-10/2 * * * * OR * */3 * * * 具体表达的意思参考上面的含义
a,b,c:表示为a、b、c时构建一次,比如:7,8,9 * * * * OR * * 13,5 * * 具体表达的意思参考上面的含义
我的构建:每周一到周五早上10点 :0 10 * * 1-5
四、集成优化
1.发送邮件
2.邮件中添加报告附件
3.优化报告格式
在jenkins系统管理中输入以下脚本运行:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
jmeter+ant+jenkins接口自动化环境搭建的更多相关文章
- Jmeter+ant+Jenkins接口自动化框架搭建
摘自:https://testerhome.com/topics/13389 一.背景 上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接 ...
- Win10系统Jmeter+maven+Jenkins接口自动化环境搭建(一)
Jmeter+maven+Jenkins实现接口自动化,需要使用idea或eclipse配置maven项目,这里我使用的是idea.具体步骤如下: 1.安装jmeter+jdk jmeter安装之前需 ...
- jmeter+ant+jenkins接口自动环境搭建
ant 下载地址:http://archive.apache.org/dist/ant/binaries/ 下载:apache-ant-1.9.7-bin.zip 解压到系统盘下:D:\apache- ...
- Jmeter+Ant+Jenkins接口自动化框架
最近应公司要求,搭建一套接口自动化环境.看到通知邮件,没有多想就确定了Jmeter路线.可能有些人会 说,为啥不用python,相对而言高大上一些.因为公司内部现在项目有用到Jmeter,正好可以结合 ...
- Jmeter+Ant+Jenkins接口自动化持续集成环境搭建(Linux)
一.安装说明 系统环境:CentOS release 6.4 JDK版本:jdk1.8.0_181 Jmeter版本:apache-jmeter-3.0 Ant版本:apache-ant-1.9.13 ...
- Jmeter+ant+jenkins接口自动化测试 平台搭建(一)
平台简介 一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成.Jmeter 支持接口的测试,Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可 ...
- Jmeter+Ant+Jenkins 接口自动化之简单demo
之前的文章我们已经分享过了 Jmeter+Ant 的批量执行 ,并且搭建好了Jenkins部署平台,如何再将三者完美结合呢? 1.首先打开Jenkins主页面,进入“系统管理-插件管理”,安装相关的插 ...
- Jmeter+Ant+Jenkins接口自动化测试框架搭建
前言 软件开发的V模型大家都不陌生,其中测试阶段分为单元测试→功能测试→系统测试→验收测试.其中单元测试一般由开发同学们自己完成,大部分测试具体实施(这里不包括用例设计)是从单体功能测试开始着手的. ...
- Jmeter+ant+jenkins接口自动化测试 平台搭建(三)
四.报告优化 Jmeter 默认生成报告不是很详细,因此我们需要进行优化.这里我们使用新的报告模板:默认的报告模板是 jmeter-results-detail-report_21.xsl 先上效果图 ...
随机推荐
- windows php exec()不生效问题
开始 $cmd = 'java -jar C:/xampp/htdocs/dev_env/replace_word_content.jar'; 报错java不是内部命令 换成 $cmd = 'C:\P ...
- FFmpeg 开发环境搭建及第一个程序 Hello FFmpeg 编写
1. FFmpeg 的安装 ./configure make make install 默认会将 FFmpeg 安装至 /usr/local 目录下(可通过 configure 使用 "-p ...
- 子元素z-index高于父元素兄弟元素z-index被遮挡问题
问题:最近在写样式时,遇到一个这样的问题,子元素的z-index值大于父元素兄弟元素z-index值,结果子元素超出父元素部分被父元素兄弟元素遮挡解决:将父元素的z-index值设置为大于兄弟元素z- ...
- 深入理解HashMap和CurrentHashMap
原文链接:https://segmentfault.com/a/1190000015726870 前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据. 本篇 ...
- applium安装过程中遇到的问题及解决方法。
1.安装appium server 之后, cmd输入appium-doctor,运行时提示'node'不是内部或外部的命令 一.提示'node'不是内部或外部命令,先按照下面步骤操作: 1.设置 ...
- SNORT入侵检测系统
SNORT入侵检测系统 YxWa · 2015/10/09 10:38 0x00 一条简单的规则 alert tcp 202.110.8.1 any -> 122.111.90.8 80 (ms ...
- HDU 6161.Big binary tree 二叉树
Big binary tree Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- python基础之Day20part1
一.hash算法 什么是hash? 类似工厂加工的过程,传bytes串,经过运算返回字符 hash相当于工厂,传给hash算法的内容是原材料,hash值为产品 为何用hash? hash三大特性: 1 ...
- Eclispe 错误:找不到或无法加载加载主类
解决办法: Project --> Clean Clean 操作会将该 project 以前的所有编译信息清空,然后默认将所有工程的所有 .java 文件都进行一次编译,这样的话就可以方便的进行 ...
- Java 字符编码(三)Reader 中的编解码
Java 字符编码(三)Reader 中的编解码 我们知道 BufferedReader 可以将字节流转化为字符流,那它是如何编解码的呢? try (BufferedReader reader = n ...