Windows下搭建ant+jenkins+jmeter自动化接口测试框架

引言
为什么要持续集成?

1、减少风险
2、减少假定
3、减少重复过程
4、增强项目的可见性
5、持续集成可以带来两点积极效果:
(1)有效决策:持续集成系统为项目构建状态和品质指标提供了及时的信息,有些持续集成系统可以报告功能完成度和缺陷率。
(2)注意到趋势:由于经常集成,我们可以看到一些趋势,如构建成功或失败、总体品质以及其它的项目信息。

一、配置jmeter、Ant、jenkins环境

下载Jmeter工具:

1 下载jdk:

链接: https://pan.baidu.com/s/1yJX_2P5Y115bJqQKqkpQCg 提取码: 1ps4

2 配置环境变量:

新建JMETER_HOME: 值为安装jmeter的根目录

新建JAVA_HOME: 值为JDK安装目录

新建CLASSPATH: 值为
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar

在PATH里添加三行:
1)、jdk的安装目录到bin(注意,安装jdk后,会默认写上一个jdk路径,如果和本机安装不对应,需要手动更改)
2)、;%JAVA_HOME%\bin;
3)、%JMETER_HOME%\bin

3验证配置好的jdk环境

打开cmd,输入java -version/javac/java

4 验证jmeter

打开cmd,输入jmeter

弹出jmeter工具既表示配置环境成功

5 下载ant工具

ant官网下载地址

下载好后安装

6 配置ant环境变量

新建ANT_HOME,值为安装ant的绝对路径

在PATH中加入安装ant 的绝对路径到bin

在CLASSPATH中加入安装ant的绝对路径到lib,记得用半角;号隔开

7 验证ant环境

打开cmd,输入:ant -version,出现ant版本既配置成功

8. 下载jenkins并安装

Jenkins官网:
https://jenkins.io/

之后按照提示安装就行,出现选择插件安装方式,一种为默认的一种为手动,这里我们选择默认

安装好以后,如果有失败的插件,不要紧,因为很正常,我们点击继续就行

会出现配置jenkins的url,这里默认就行(默认的话端口号是8080)

创建用户(账号、密码)、点击开始,按提示走就可以

9 验证jenkins安装完毕

打开任意一个浏览器,输入localhost:8080(就是一开始的默认jenkins端口号 )

到此,ant、jmeter、jenkins全部安装好并配完相关环境

二、联合使用(ant+jmeter+jenkins)搭建自动化接口测试框架

1、先编写好一个jmeter的脚本,并在jmeter上跑通


通过后导入,并保存为.jmx文件


2、在桌面创建好一个空的文件夹,用于ant执行,并在内部创建好三类文件夹(result、scrpit、html)

3、准备一个build.xml脚本,并把他放到我们刚才创建的文件夹的根目录


需要注意的是,build文件名不可被修改,只允许叫build.xml

<?xml version="1.0" encoding="GBK"?><project name="ant-jmeter-test" default="run" basedir="."><tstamp><format property="time" pattern="yyyyMMddhhmm" /></tstamp><target name="run"><antcall target="clear1" /><antcall target="test1" /><antcall target="report1" /><antcall target="sendmail1" /></target><target name="test1"><echo message="开始执行jmeter脚本..."></echo><taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /><jmeter jmeterhome="jmeter家目录" resultlog="jtl路径\1.jtl"><!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本--><testplans dir="脚本路径" includes="脚本名称" /><property name="jmeter.save.saveservice.output_format" value="xml"/></jmeter></target><path id="xslt.classpath"><fileset dir="jmeter中lib路径" includes="xalan*.jar"/><fileset dir="jmeter中lib路径" includes="serializer*.jar"/></path><target name="report1"><echo message="开始转换执行结果..."></echo><tstamp> <format property="time" pattern="yyyy/MM/dd HH:mm" /></tstamp><xslt classpathref="xslt.classpath"force="true"in="jtl路径\1.jtl"out="html路径\1.html"style="jmeter中exaters的路径+jmeter-results-detail-report_21的名称"><param name="titleReport" expression="xxxxx"/> <param name="dateReport" expression="${time}"/>  </xslt>  <!-- jmeter-results-detail-report_21  因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝--> <copy todir="html的路径"><fileset dir="jmeter中exaters的路径"><include name="collapse.png" /><include name="expand.png" /></fileset></copy>           </target><target name="clear1"><!-- 每次执行前先删除清空jtl和html文件夹,释放空间 --><echo message="释放空间,清空jtl和html文件夹中 ..."></echo><delete dir="jtl的路径" /><delete dir="html的路径" /><!-- 删除单个文件-- ><delete file="jtl的路径\1.jtl" /><sleep seconds="2"/>  <echo message="释放完成 ..."></echo></target><target name="sendmail1"><!--把报告进行压缩打包--><jar jarfile="report的路径.rar" basedir="html的路径"/><!--把文件贴到邮件正文--><loadfile property="html" srcFile="html的路径\1.html" encoding="UTF-8"><filterchain><expandproperties /></filterchain></loadfile><mail mailhost="smtp.126.com" mailport="25" subject="邮件标题" messagemimetype="text/html" tolist="norma_bai@163.com"user="norma_bai@163.com" password="bj900420"><from address="norma_bai@163.com"/><!--发送附件--><fileset dir="在jmeter中创建的文件夹"><include name="report.rar"/></fileset><message><![CDATA[ <p>项目组收:</p><pre> ${html} </pre><p>自定义邮件内文字</p>]]></message></mail></target>
</project>

对这个build内容进行填充

<?xml version="1.0" encoding="GBK"?><project name="ant-jmeter-test" default="run" basedir="."><tstamp><format property="time" pattern="yyyyMMddhhmm" /></tstamp><target name="run"><antcall target="clear1" /><antcall target="test1" /><antcall target="report1" /><antcall target="sendmail1" /></target><target name="test1"><echo message="开始执行jmeter脚本..."></echo><taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /><jmeter jmeterhome="E:\apache-jmeter-5.2.1" resultlog="C:\Users\Administrator\Desktop\ant\result\1.jtl"><!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本--><testplans dir="C:\Users\Administrator\Desktop\ant\script" includes="*.jmx" /><property name="jmeter.save.saveservice.output_format" value="xml"/></jmeter></target><path id="xslt.classpath"><fileset dir="E:\apache-jmeter-5.2.1\lib" includes="xalan*.jar"/><fileset dir="E:\apache-jmeter-5.2.1\lib" includes="serializer*.jar"/></path><target name="report1"><echo message="开始转换执行结果..."></echo><tstamp> <format property="time" pattern="yyyy/MM/dd HH:mm" /></tstamp><xslt classpathref="xslt.classpath"force="true"in="C:\Users\Administrator\Desktop\ant\result\1.jtl"out="C:\Users\Administrator\Desktop\ant\html\1.html"style="E:\apache-jmeter-5.2.1\extras\jmeter-results-detail-report_21.xsl"><param name="titleReport" expression="测试报告"/> <param name="dateReport" expression="${time}"/>  </xslt>  <!-- jmeter-results-detail-report_21  因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝--> <copy todir="C:\Users\Administrator\Desktop\ant\html"><fileset dir="E:\apache-jmeter-5.2.1\extras"><include name="collapse.png" /><include name="expand.png" /></fileset></copy>            </target><target name="clear1"><!-- 每次执行前先删除清空jtl和html文件夹,释放空间 --><echo message="释放空间,清空jtl和html文件夹中 ..."></echo><delete dir="C:\Users\Administrator\Desktop\ant\result" /><delete dir="C:\Users\Administrator\Desktop\ant\html" /><!-- 删除单个文件--><delete file="C:\Users\Administrator\Desktop\ant\1.rar" /><sleep seconds="2"/>  <echo message="释放完成 ..."></echo></target><target name="sendmail1"><!--把报告进行压缩打包--><jar jarfile="C:\Users\Administrator\Desktop\ant\1.rar" basedir="C:\Users\Administrator\Desktop\ant\html"/><!--把文件贴到邮件正文--><loadfile property="html" srcFile="C:\Users\Administrator\Desktop\ant\html\1.html" encoding="UTF-8"><filterchain><expandproperties /></filterchain></loadfile><mail mailhost="smtp.qq.com" mailport="25" subject="测试结果" messagemimetype="text/html" tolist="dasun@qq.com"user="dasun@qq.com" password="邮箱授权码"><from address="dasun@qq.com"/><!--发送附件--><fileset dir="C:\Users\Administrator\Desktop\ant"><include name="1.rar"/></fileset><message><![CDATA[ <p>项目组收:</p><pre> ${html} </pre><p>自定义邮件内文字</p>]]></message></mail></target>
</project>

4 、运行

我们来跑一下这个build,看能否跑通

打开cmd

cd到我们项目的文件夹中

然后输入:ant

接下来就开始执行,但是后来发现到了sendmail方法就止住不动了,并报错:


发现在安装ant的目录下的lib中缺少jar包(activation.jar、commons-lang3-3.8.1.jar、mail.jar)
直接下载然后丢到ant目录中的lib目录就可以
链接: https://pan.baidu.com/s/18BWUMrW7ABfBlvU_b3Mppw 提取码: 8jk4

继续执行文件
发现这次成功了,而且邮箱也收到了报告
那么我们就可以进入jenkins构建中了(其实每次不一定非要跑通,只要我们第一次ant成功了,那么后续只需要更改jmx文件就行或者不需要更改,在原先的jmx上重命名替换也是可以的)

5、jenkins构建任务

启动jenkins
1)打开Windows的cmd命令窗口,将路径切换到Jenkins安装目录文件下
2)在cmd窗口输入java -jar jenkins.war --httpPort=9000
3)打开浏览器,输入http://localhost:9000/,进入Jenkins界面

开始在jenkins中配置Ant

点击系统管理,进入后,下拉,找到全局工具配置

进入后,新增ant,添加ant安装路径并应用、保存

如果没有Ant怎么办? 说明你没有安装相关插件,要去官网下载
官网链接:https://updates.jenkins-ci.org/download/plugins/
打开后,在搜索框中输入你要下载的插件名就可以

配置好ant后,点击新建任务,创建一个新项目


勾选构建中的定时建构,可以按照规定的时间有规律性的建构,勾选后面的?号可以查看构建的命令规格

勾选建立中的调用蚂蚁(注意,我用的是谷歌翻译后的,大家可以按照对应的位置去选择)

点击高级

填写我们上述创建的文件夹路径(也就是需要持续集成的jmx文件),后面跟上build.xml

最后构建下
可以看到,本次构建成功了

这样下来,自动化接口测试框架就已经搭建好了,可以开展持续集成的工作

Windows下搭建ant+jenkins+jmeter自动化接口测试框架相关推荐

  1. Windows下搭建ant+jenkins+jmeter自动化接口测试框架(详细篇)

    引言 为什么要持续集成? 1.减少风险 2.减少假定 3.减少重复过程 4.增强项目的可见性 5.持续集成可以带来两点积极效果: (1)有效决策:持续集成系统为项目构建状态和品质指标提供了及时的信息, ...

  2. jmeter+ant+jenkins的自动化接口测试

    一.Jenkins安装配置 1.安装配置JDK1.7+环境变量: 2.下载jenkins.war,放入D:\jenkins目录下,目录位置随意: Jenkins启动方法: cmd进入Jenkins目录 ...

  3. Windows下SonarQube与Jenkins环境的配置使用

    Windows下SonarQube与Jenkins环境的配置使用 首先放个SonarQube官方持续化集成测试环境架构图 图中展示了SonarQube自动化环境的整合,前文根据SonarQube官方的 ...

  4. MQTT在Windows下搭建MQTT服务器

    MQTT 在Windows下搭建MQTT服务器 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012163234/article/details/ ...

  5. Lisp语言: 在Windows下搭建CLisp环境

    有关Clisp环境的搭建,有人反映说在Ubuntu上搭建很麻烦,对于习惯使用Windows环境的同学们来讲不方便,所以在这里添加一篇Windows下搭建CLisp环境的文章. 其实在Windows下搭 ...

  6. Windows下搭建PySpark环境

    Windows下搭建PySpark环境 文章目录 Windows下搭建PySpark环境 前言 方法一 安装单机版Hadoop 安装单机版Spark PySpark环境整合 方法二 测试PySpark ...

  7. Android之Windows下搭建React Native Android开发环境(差不多搞了一天)

    Android之Windows下搭建React Native Android开发环境               穷逼买不起mac,但是他们都说React Native Android只能在mac下面 ...

  8. windows搭建python开发环境方法_04 Windows下搭建 Python 开发环境 - Python 入门教程

    前面两个小节中我们已经学习了在 MacOS 和 Ubuntu 中安装 Python 的开发环境.当然,作为用户基数最多的 Windows 操作系统,我们当然不会忘记,这节课我们就来学习下如何在 Win ...

  9. [原创]在windows下搭建基于apache的SVN环境

    [原创]在windows下搭建基于apache的SVN环境 1 软件下载: 在http://httpd.apache.org/download.cgi,下载: apache_2.2.14-win32- ...

最新文章

  1. 成为MySQL DBA 博客系列-数据库升级
  2. 在线shell连接服务器,Xshell如何连接服务器
  3. ubuntu16.04下更新UHD3.14+GNURadio3.7.13.5
  4. 11.Verilog中如何避免Latch
  5. 已安装内存和可用内存不一致 4GB内存在win1064位系统中显示为可用 3.87GB解决办法
  6. FFmpeg中的日志以及avio实现对文件的读写功能
  7. TCanvas 学习
  8. 在Apache服务器上安装SSL证书
  9. 树莓派连接wifi_「树莓派已入侵工控领域」树莓派工控机助力雷诺汽车连接智能电网...
  10. Java如何封装参数_java规范(一)------方法设计---返回多参数的方法怎么封装
  11. php日志缓存,php – Symfony和Docker – 缓存和日志目录权...
  12. mysql ak uk_mysql表的查询
  13. 记风雨兼程的2020年,2021年,我来了!
  14. bootstrap分辨率
  15. 【2022河南省电赛】SWM181最小系统核心板-开源
  16. STM32脱机烧录器源文件、离线烧录器 制作资料 源文件
  17. C++ 浅复制、深复制详解
  18. 【经验分享】怎么催审稿意见、催稿信例文
  19. C语言:银行储蓄系统开发(中级)
  20. 16位流水线CPU设计(部分)

热门文章

  1. Office课程习题
  2. 用javaScript制作爱心特效
  3. Java集合框架笔记,足够深,足够全面
  4. C Primer Plus 第7章之菜鸟儿的编程题答案
  5. PCB设计中常用的尺寸标注
  6. 两点计算机械手旋转中心
  7. UOS服务器操作系统下载RPM包和依赖
  8. 天下长安手游怎么用电脑玩 天下长安手游模拟器教程
  9. 非师范生教师资格证最新政策
  10. uni-app启动时间太长