【转】Jenkins+Ant+Jmeter接口自动化集成测试实例
出处:https://my.oschina.net/MrToStudy/blog/742251
一、Jenkins安装配置
1、安装配置JDK1.6+环境变量;
2、下载jenkins.war,放入C:\jenkins目录下,目录位置随意;
Jenkins启动方法:
cmd进入Jenkins目录下,执行java -jar jenkins.war
浏览器输入:localhost:8080可以访问Jenkins表示配置成功;
二、Ant安装配置
1、下载apache-ant-1.9.6;放入E盘,如E:\apache-ant-1.9.6,目录位置随意
2、配置环境变量:
ANT_HOME E:\apache-ant-1.9.6
path E:\apache-ant-1.9.6
classpath E:\apache-ant-1.9.6
3、验证Ant配置是否成功;
cmd下输入Ant提示如下表示配置成功:
Buildfile: build.xml does not exist!
Build failed
三、配置xml文件
1、Jmeter目录位置:D:\tools\apache-jmeter-2.11,在jmeter中建立demo文件夹,demo中创建build.xml文件,需要配置Jmeter目录、生成报告的路径,报告的格式和脚本目录,内容如下:
<?xml version="1.0" encoding="UTF8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<property environment="env"/>
<property name="ReportName" value="TestReport" />
<!-- 本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\tools\apache-jmeter-2.11" />
<!-- jmeter生成报告的路径-->
<property name="jmeter.result.dir" value="${env.WORKSPACE}/results/${env.BUILD_ID}" />
<!-- 生成jtl、html格式的报告,以构建ID命名-->
<property name="jmeter.result.jtlName" value="${env.WORKSPACE}/results/${env.BUILD_ID}/${env.BUILD_ID}.jtl" />
<property name="jmeter.result.htmlName" value="${env.WORKSPACE}/results/${env.BUILD_ID}/${env.BUILD_ID}.html" />
<target name="run">
<echo message="start..."/>
<antcall target="clean" />
<antcall target="test" />
<antcall target="report" />
</target>
<target name="clean">
<mkdir dir="${env.WORKSPACE}/results/${env.BUILD_ID}" />
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本和此目录下的jmeter脚本-->
<testplans dir="D:\tools\apache-jmeter-2.11\demo" includes="login.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<target name="report">
<xslt in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
</target>
</project>
其中${env.WORKSPACE}/results/${env.BUILD_ID}/${env.BUILD_ID}.jtl和
${env.WORKSPACE}/results/${env.BUILD_ID}/${env.BUILD_ID}.html生成的报告位置在:
C:\Users\Administrator\.jenkins\jobs\test\workspace\results目录下,每次进行Jenkins构建的时候,都会生成一个新的构建编号目录和结果报告;
2、将jmeter测试脚本放入demo目录下,当然放入其他位置也可以,build.xml中需要配置jmeter脚本存放路径的对应位置。
四、构建Jenkins项目
1、启动Jenkins,浏览器输入localhost:8080进入管理界面,点击新建;
2、输入项目名称:Test_demo,选择构建一个自由风格的软件项目,点击OK;
3、勾选丢弃旧的构建,配置如下:
4、构建,增加构建步骤选择Invoke Ant,Targets输入run,点击高级,Build File输入build.xml文件路径,保存;
5、返回主页可以看到新建的项目,点击构建即可启动测试;
6、左侧可以看到启动状态及构建编号;
7、进入构建编号目录C:\Users\Administrator\.jenkins\jobs\Test_demo\workspace\results\60下即可查看jmeter脚本运行的报告;
五、使用Tomcat查看测试结果:
1、修改build.xml文件html报告生成的路径,report文件在demo路径下,修改如下:
<property name="jmeter.result.htmlName" value="report/report.html" />
2、配置为tomcat的虚拟目录
a、配置server.xml
打开Tomcat目录下的/conf/server.xml文件,在Host标签之间加入下面内容。
<Context path="/test/report" docBase="/test/report " reloadable="true" debug="0"/>
path:工程名称+文件路径,当访问path目录下的文件时,实则访问docBase目录下的文件。
docBase:文件的真实路径。注意这里如果有文件长传,则将上传的文件路径设置为docBase,而不是path。
b、修改tomcat端口
Tomcat端口8080已经被Jenkins占用,则需要修改端口,打开Tomcat目录下的/conf/server.xml文件,将connector port修改成8088
<Connector port="8088" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /
c、配置web.xml
打开Tomcat目录下的/conf/web.xml,将listings的属性设置为True。
<servlet>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
访问localhost:8088/report即可访问结果报告。
当然Jenkins的功能远不止这些,还有很多强大的地方等着你去发现。
【转】Jenkins+Ant+Jmeter接口自动化集成测试实例的更多相关文章
- Jenkins+Ant+Jmeter接口自动化集成测试实例
Jenkins+Ant+Jmeter接口自动化集成测试实例 一.Jenkins安装配置 1.安装配置JDK1.6+环境变量: 2.下载jenkins.war,放入C:\jenkins目录下,目录位置随 ...
- Jenkins+Ant+Jmeter接口自动化集成测试
一.Jmeter+ant 1.首先我们默认Jmeter脚本已经录制好了,并测试通过,存在(查询模块.jmx)脚本 2.将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.j ...
- Jenkins+ant+Jmeter接口自动化框架搭建
工具准备 JDK: jdk1.8.0_111 Ant: apache-ant-1.9.9 Jmeter: apache-jmeter-3.1 Jenkins: jenkins-2.7.4 JDK安装 ...
- Jenkins+ant+jmeter接口自动化
1.Jenkins新建slave节点 2.Jenkins新建job,配置job,关联到slave, 3.执行构建 build文件如下 <?xml version="1.0" ...
- jenkins+ant+jmeter接口自动化的持续集成
一.jmeter.jenkins安装 这里不再说明,请看上一个随笔!!! 链接:https://www.cnblogs.com/magicYJ/p/11839646.html 二.ant安装 下载地址 ...
- jenkins+ant+jmeter实现自动化集成(详解)
jenkins+ant+jmeter实现自动化集成 for window 一.jmeter 1.jmeter安装 二.ant 1.ant安装 三.ant运行 jmeter脚本 1.配置 四.jenki ...
- Jenkins+Ant+JMeter报告自动化
1.参考Jenkins+Ant+JMeter集成,安装Jenkins(不需要安装Performance Plugin插件),建立Slave节点,连接Slave节点,创建任务等. 2.将Jenkins+ ...
- jenkins+ant+jmeter接口自动化测试(持续构建)
使用badboy录制脚本,到处到jmeter后进行接口自动化,后来想着 可不可以用自动化来跑脚本呢,不用jmeter的图形界面呢, 选择了ant来进行构建,最后想到了用Jenkins来进行持续构建接口 ...
- Jenkins+Maven+Jmeter接口自动化持续集成测试
在上一篇<利用xsltproc转换jtl报告到html报告>中,解决了html报告的问题.本篇主要还是利用Jenkins来做持续集成测试. Jenkins需要安装的插件 Maven Int ...
随机推荐
- php程序无法使用localhost连接数据库解决方法(linux)
php程序无法使用localhost连接数据库解决方法(linux) 出现这种情况是因为PHP无法正确获取mysql.sock 在php.ini文件中指定即可解决问题. 修改如下: 找到 mysql. ...
- linux命令详解:basename命令
转:http://www.cnblogs.com/lwgdream/archive/2013/11/05/3407768.html 前言 bashname命令用于获取路径中的文件名或路径名(获取的时候 ...
- JAVA常见算法题(二)
package com.xiaowu.demo; /** * 判断101-2000之间有多少个素数,并输出所有素数. * 质数(prime number)又称素数,有无限个.质数定义为在大于1的自然数 ...
- 新人补钙系列教程之:体验ApplicationDomain 应用程序域
要说应用程序域,就不得不说安全沙箱 安全沙箱在帮助文档的解释是: 客户端计算机可以从很多来源(如外部 Web 站点或本地文件系统)中获取单个 SWF 文件.当 SWF 文件及其它资源(例如共享对象.位 ...
- ECSHOP热门搜索关键词随机显示
实现ECSHOP热门搜索关键词随机显示,需要修改ECSHOP模板和ECShOP程序,按照步骤修改即可. 一.打开 include/lib_main.php 文件,找到下面这段代码,删除之(大概在165 ...
- 9.11排序与查找(一)——给定两个排序后的数组A和B,当中A的末端有足够的缓冲空间容纳B。将B合并入A并排序
/** * 功能:给定两个排序后的数组A和B,当中A的末端有足够的缓冲空间容纳B.将B合并入A并排序. */ /** * 问题:假设将元素插入数组A的前端,就必须将原有的元素向后移动,以腾出空间. ...
- JMeter接口测试中文乱码问题总结
在测试过程中遇到了请求json串中文乱码,所以查看了这篇文章,将字符集修改后,乱码问题已经处理. 转载http://blog.csdn.net/qing_java/article/details/69 ...
- 最简单的基于FFmpeg的移动端样例附件:Android 自带播放器
===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:A ...
- Javascript 客户端实时显示服务器时间
<!doctype html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...
- 強大的Selector框架
代码地址如下:http://www.demodashi.com/demo/12648.html 前言 在开发的过程中,我们经常会遇到给view设置背景,什么圆形背景啊,圆角背景啊,点击变色背景啊之类的 ...