jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)
jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)
一、环境准备:
1、JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2、Jmeter:http://jmeter.apache.org/download_jmeter.cgi
3、Ant:http://ant.apache.org/bindownload.cgi
4、Jenkins:http://jenkins-ci.org/
具体可参见http://www.cnblogs.com/puresoul/p/4808416.html
二、Jemter脚本准备:
1、脚本目录:D:\B_TOOLS\apache-jmeter-2.13\demo

2、脚本内容:都是简单的访问百度或google首页
baidu.jmx google.jmx

三、ANT的build.xml代码准备:
build3.xml


1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <project name="ant-jmeter-test" default="run" basedir=".">
4 <tstamp>
5 <format property="time" pattern="yyyyMMddhhmm" />
6 </tstamp>
7
8 <property environment="env"/>
9 <property name="ReportName" value="TestReport" />
10 <!-- 需要改成自己本地的 Jmeter 目录-->
11 <property name="jmeter.home" value="D:\B_TOOLS\apache-jmeter-2.13" />
12 <!-- jmeter生成jtl、html格式的结果报告的路径-->
13 <property name="jmeter.result.dir" value="${env.WORKSPACE}/results/${env.BUILD_ID}" />
14 <!-- 生成的报告的前缀-->
15 <property name="jmeter.result.jtlName" value="${jmeter.result.dir}/${ReportName}.jtl" />
16 <property name="jmeter.result.htmlName" value="${jmeter.result.dir}/${ReportName}.html" />
17
18 <target name="run">
19 <echo message="start..."/>
20 <antcall target="clean" />
21 <antcall target="test" />
22 <antcall target="report" />
23 </target>
24
25 <target name="clean">
26 <mkdir dir="${env.WORKSPACE}/results/${env.BUILD_ID}" />
27 </target>
28
29 <target name="test">
30 <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
31 <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
32 <!-- 声明要运行的脚本"*.jmx"指包含此目录下的所有jmeter脚本-->
33 <testplans dir="D:\B_TOOLS\apache-jmeter-2.13\demo" includes="*.jmx" />
34
35 <property name="jmeter.save.saveservice.output_format" value="xml"/>
36 </jmeter>
37 </target>
38
39 <target name="report">
40 <xslt in="${jmeter.result.jtlName}"
41 out="${jmeter.result.htmlName}"
42 style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
43 <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
44 <copy todir="${jmeter.result.dir}">
45 <fileset dir="${jmeter.home}/extras">
46 <include name="collapse.png" />
47 <include name="expand.png" />
48 </fileset>
49 </copy>
50 </target>
51 </project>


四、配置Jenkins Job并运行:
1、job配置如下:

2、job运行结果:


1 Started by user anonymous
2 Building in workspace D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace
3 [demo] $ cmd.exe /C '"ant.bat -file build3.xml run && exit %%ERRORLEVEL%%"'
4 Buildfile: build3.xml
5
6 run:
7 [echo] start...
8
9 clean:
10 [mkdir] Created dir: D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace\results\15
11
12 test:
13 [jmeter] Executing test plan: D:\B_TOOLS\apache-jmeter-2.13\demo\baidu.jmx ==> D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace\results\15\TestReport.jtl
14 [jmeter] Creating summariser <summary>
15 [jmeter] Created the tree successfully using D:\B_TOOLS\apache-jmeter-2.13\demo\baidu.jmx
16 [jmeter] Starting the test @ Tue Sep 22 15:50:33 CST 2015 (1442908233010)
17 [jmeter] Waiting for possible shutdown message on port 4445
18 [jmeter] summary + 1 in 1s = 2.0/s Avg: 254 Min: 254 Max: 254 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0
19 [jmeter] summary + 5 in 1s = 7.3/s Avg: 131 Min: 96 Max: 196 Err: 0 (0.00%) Active: 0 Started: 1 Finished: 1
20 [jmeter] summary = 6 in 1.2s = 5.0/s Avg: 151 Min: 96 Max: 254 Err: 0 (0.00%)
21 [jmeter] Tidying up ... @ Tue Sep 22 15:50:34 CST 2015 (1442908234310)
22 [jmeter] ... end of run
23 [jmeter] Executing test plan: D:\B_TOOLS\apache-jmeter-2.13\demo\google.jmx ==> D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace\results\15\TestReport.jtl
24 [jmeter] Creating summariser <summary>
25 [jmeter] Created the tree successfully using D:\B_TOOLS\apache-jmeter-2.13\demo\google.jmx
26 [jmeter] Starting the test @ Tue Sep 22 15:50:35 CST 2015 (1442908235240)
27 [jmeter] Waiting for possible shutdown message on port 4445
28 [jmeter] summary + 1 in 1s = 1.9/s Avg: 253 Min: 253 Max: 253 Err: 1 (100.00%) Active: 1 Started: 1 Finished: 0
29 [jmeter] summary + 5 in 1.1s = 4.4/s Avg: 209 Min: 97 Max: 420 Err: 0 (0.00%) Active: 0 Started: 1 Finished: 1
30 [jmeter] summary = 6 in 2s = 3.6/s Avg: 216 Min: 97 Max: 420 Err: 1 (16.67%)
31 [jmeter] Tidying up ... @ Tue Sep 22 15:50:36 CST 2015 (1442908236992)
32 [jmeter] ... end of run
33
34 report:
35 [xslt] Processing D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace\results\15\TestReport.jtl to D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace\results\15\TestReport.html
36 [xslt] Loading stylesheet D:\B_TOOLS\apache-jmeter-2.13\extras\jmeter-results-detail-report_21.xsl
37 [copy] Copying 2 files to D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace\results\15
38
39 BUILD SUCCESSFUL
40 Total time: 5 seconds
41 [workspace] $ cmd /c call D:\Users\heman793\AppData\Local\Temp\hudson4765606743104861298.bat
42
43 D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace>echo D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace
44 D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace
45
46 D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace>echo 15
47 15
48
49 D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace>cd results
50
51 D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace\results>cd 15
52
53 D:\B_TOOLS\jenkins\jobs\TestJenkins\workspace\results\15>exit 0
54 Finished: SUCCESS


3、在job的workspace目录下会生成结果报告:

4、TestReport.html:

更新补充:
上面生成的报告有如下两个问题,解决办法参见Jmeter自带报告优化(一):
1、Date report这里的时间没有正确显示出来
2、Summary里的字段Min Time和Max Time显示的是NaN,没有显示正确的时间。
五、配置发送邮件功能
1、网上下载sendmail.jar包,放在job的workspace目录中

2、jenkins增加构建步骤
a)进入到测试报告的目录
b) 调用sendmail.jar命令发送邮件

说明:
1、由build3.xml的第12、13行可知,报告文件生成目录为:${env.WORKSPACE}/results/${env.BUILD_ID},所以这里我要先cd到具体执行的那个build_id目录下。
2、我们也可以把上面的两行命令写在成一个批处理文件,例如我第1步有个sendmail.bat文件就是的,然后调用时直接写sendmail.bat就好了。
本文转自: 清明-心若淡定 https://www.cnblogs.com/saryli/p/5430537.html
jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)的更多相关文章
- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)
一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.Jmeter:http://jme ...
- 【jmeter】搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)
一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.Jmeter:http://jme ...
- 搭建持续集成接口测试平台(jenkins+ant+jmeter)
一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.Jmeter:http://jme ...
- jenkins+ant+jmeter搭建持续集成的接口测试平台
一.jemter接口脚本的编写步骤如下: 1. 编写接口请求 通过录制或者查看接口文档,编写接口请求,进行调试,确保接口调试通过,对于http的请求来说,就是正确的填写域名,查询字符串,查询参数等信息 ...
- Jenkins+Ant+Jmeter搭建持续集成的接口测试平台(转)
一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...
- 【转】Jenkins+Ant+Jmeter搭建持续集成的接口测试平台
一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...
- 【接口测试】Jenkins+Ant+Jmeter搭建持续集成的接口测试平台
参考文档: http://www.cnblogs.com/liuqi/p/5224579.html
- 搭建持续集成单元测试平台(Jenkins+Ant+Java+Junit+SVN)
一.环境准备 Jenkins: 到官网下载jenkins.war包:http://jenkins-ci.org/ 安装方法有两种: 把下载下来的jenkins.war包放到文件夹下,如C:\jenki ...
- Jenkins+Ant+SVN+Jmeter实现持续集成
一.什么是持续集成? 待补充 二.说明: 本次框架介绍中不涉及到介绍框架的构建过程,介绍如何构建环境详细的构建见前篇文章: jmeter+Jenkins持续集成(邮件通知) Jmeter+Jenki ...
随机推荐
- this 指向问题, 三个例子
'use strict'; var a = 20; function foo () { var a = 1; var obj = { a: 10, c: this.a + 20, fn: functi ...
- Delphi和OutputDebugString
曾经想要实时监控您的Delphi应用程序,并能够查看日志消息吗?当然,您始终可以在RAD Studio IDE中以完全调试模式运行.另一种方法是输出日志消息,例如输出到文本文件.您还可以使用Outpu ...
- 用Synoptic Panel自定义基于图形的可视化控件--制作一张剧场售票统计报表
数据可视化的一大特点就是能给报表使用者带来感官上的享受.不再是枯燥的数字,而变成一个一个亮丽的图形.之前业界大神公布过一个统计Car Accidents的报表,这个Power BI Report的特点 ...
- [转]熵(Entropy),交叉熵(Cross-Entropy),KL-松散度(KL Divergence)
https://www.cnblogs.com/silent-stranger/p/7987708.html 1.介绍: 当我们开发一个分类模型的时候,我们的目标是把输入映射到预测的概率上,当我们训练 ...
- Android Native Hook技术(二)
Hook技术应用 已经介绍了安卓 Native hook 原理,这里介绍 hook 技术的应用,及 Cyida Substrate 框架. 分析某APP,发现其POST请求数据经过加密,我们希望还原其 ...
- 【leetcode】13-Roman2Integer
problem Roman to Integer 每个Roman表示一个数字,可以进行一一映射: 左边字符表示的数字小于右边字符时,减去对应的数字,否则加上: 注意左右字符比较时,最后一个字符不能比较 ...
- Ubuntu下设置开机后自动运行命令
从道理上来讲,ubuntu开机应该是能够设置执行一些脚本的,事实上确实如此,网上给出了很多解决的方案,基本上是分为两种, 第一种是编辑/etc/下的rc.local脚本,
- GitHub使用教程、注册与安装
GitHub注册与安装 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请调整网页缩放比例至200%) 1 进入GitHub官网:http ...
- 测试那些事儿—Linux搭建环境基础步骤
Linux搭建环境基础步骤 准备工具:SecureCRT工具(Linux工具,连接服务器)FTP传输工具(上传文件到服务器)MySQL连接工具 安装包(以下文件均为压缩包rpm格式和tar.gz):J ...
- P2261 [CQOI2007]余数求和 (数论)
题目链接:传送门 题目: 题目背景 数学题,无背景 题目描述 给出正整数n和k,计算G(n, k)=k mod + k mod + k mod + … + k mod n的值,其中k mod i表示k ...