一、首先先介绍下我的环境:

1、 win10系统

2、 ant版本:apache-ant-1.10.1(作用:执行脚本,便于后期的持续集成,下载地址:http://ant.apache.org/bindownload.cgi)

3、 jmeter版本:apache-jmeter-3.1(即下即用,无需配置环境变量,自行百度解决下载问题)

4、 另外我的电脑有python的环境,可以利用python写的读取最新生成的html测试报告实现自动发送邮件到邮箱的功能。

二、搭建前准备工作:

1、配置ant环境变量:我的ant安装在D:\2017.9.21\下面(安装过程省略,下载内容解压出来即可,根据自己的安装目录进行配置)

图2-1

所以我的环境变量为:

ANT_HOME=D:\2017.9.21\apache-ant-1.10.1

CLASSPATH=D:\2017.9.21\apache-ant-1.10.1\lib;

path=D:\2017.9.21\apache-ant-1.10.1\bin

安装完成之后,打开运行,输入cmd,输入ant –v,出现以下信息,表示安装正确

注:安装过程遇到的问题:

输入 ant -v 后可能存在报错的问题,如下:Exception in thread “main" java.lang.UnsupportedClassVersionError

可能电脑太老,ant太新,换了个低点的版本的试试。

2、jmeter的配置文件修改(一样,安装过程省略)。

找到jmeter的bin目录,修改jmeter.properties的文件(Notepad++工具打开),修改内容如下:

1、

将CookieManager.save.cookies=false  去掉注释#,将false改成true,即:CookieManager.save.cookies=true

目的:能够保持登陆状态,进行登陆之后请求的发送,例如:登陆之后的新增、修改操作(后期再说jmeter接口请求)。

2、去掉前面的#号,将 jmeter.save.saveservice.output_format=csv 改 jmeter.save.saveservice.output_format=xml

3、

,找到如图所示内容,将红色框的#号都去掉,并且将所有的false改成true。

目的:生成的html报告的调优(后期会说到生成报告模板的更换)。

三、开始进行环境搭建

1、配置库文件

将jmeter 的extras目录下的ant-jmeter-1.1.1.jar 文件拷贝到ant安装目录下的lib文件夹中,如下图:

,过程简单,如果错了,自己打手吧。

2、配置ANT与Jmeter的配置文件。

拷贝下面的内容到新建的txt文件中,并将此文件改名为:build.xml。

<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="C:\apache-jmeter-2.12" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="C:\apache-jmeter-2.12\bin\test\smoke_report\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="C:\apache-jmeter-2.12\bin\test\smoke_report\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}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplans dir="C:\apache-jmeter-2.12\bin\test\冒烟测试" 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-detail-report_21.xsl" /> <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>

注意以下几个内容:

1、 一定要注意是自己电脑的路径,否则出了问题我不负责,我的生成报告时间略有调整。

2、 需要自己创建存放jtl报告、html报告、jmx格式文件的文件夹。

3、 如果出现:执行ant时报错“1字节的UTF-8序列的字节1无效”,请修改build.xml文件,并将里面的UTF-8修改为UTF8即可。

4、 jmeter自带的html报告与我期望的有点差距,于是在网上找了一个优化后的测试报告模板jmeter.results.shanhe.me.xsl。放到jmeter的extras目录下(这个不用多说了,错了打手),并且在build.xml里面将最下面的测试报告模板的名字换成这个即可。

四、项目目录的优化

前面说到几个文件,build.xml、html格式的测试报告、jtl格式的报告、.jmx格式的文件、还有后面的python发送邮件的文件,我的做法是:

,这样做的好处是结构目录明显且不混乱,而且还是在一个总的项目下,包括后期的参数化文件csv格式的、txt格式的文件都可以这么来建(当然这只是个人的建议)。

通过以上的准备工作,恭喜,我们已经完成ant+jmeter的环境的搭建了,下面就可以执行测试了。

五、执行测试

打开运行输入cmd,命令行cd到build.xml文件所在目录,输入ant run(我之前已经写好一个jmx格式的文件,所以这边就不多说只说如何搭建环境;对于为什么执行ant run,不清楚的可以先仔细看下build.xml这个文件就明白),执行测试。

是不是很激动(我当时看到很激动滴),看到build successful 表明执行成功了,找到对应的html文件夹,就能看到生成的html报告了。

用浏览器打开即可(我电脑显示有点问题,正常是浏览器图标)。

为了进行比较新模板和jmetet自带的模板区别,下面是一个jmeter自带的模板生成的html测试报告,(敲个黑板,不同公司有不同要求,想要使用jmeter自带的生成报告模板,在apache-jmeter-3.1的extras目录下:jmeter-results-detail-report_21.xsl 这个文件就是自带的jmeter,有需要的自己去build.xml文件替换报告生成的模板就行)。

通过对比,你是不是发觉优化后报告的更加具体点呢?新的报告有具体的post请求,有response的响应,相应结果等等。

六、python之邮件发送

我之前学过python+selenium、python+request,所以对于python的邮件发送还是比较熟悉,直接将之前写过的内容拿过来用send_email.py,将里面需要更改的内容换成自己要用的内容即可(研究过jmeter和jenkins自带的邮件发送功能,但不是我想要的效果,所以采用这个方法)

然后运行 cmd,cd到发送邮件的python脚本文件目录,执行python  send_email.py

然后到对应的邮箱就能收取到jmeter执行之后的html测试报告了。

、持续集成环境搭建

接下来是持续集成环境Jenkins搭建,我下载的是mis格式的文件,值得一提的是双击mis安装的过程是 windows的服务,那么jenkins就是一个后台服务,(如果想要执行python+selenium web ui自动化会提示报错,因为ui自动化是一个页面执行的过程,这是后话遇到再解答)因为接口是后台发送请求,所以用来执行完全没有问题。

安装之前先确认电脑上已经安装好了jdk,并且已经配置好了环境变量了(这个对于jdk还是有要求的,建议是1.6以上的;不清楚的百度去);jenkins的安装过程省略(注意安装目录的问题),过程中会遇到插件的安装,建议整个插件都安装一下。

下面就开始简单的构建。

第一步:点击新建。

第二步:构建执行时间,找到如下图所示,进行填写(根据实际构建时间;这个格式是:分 时 日 月 年,注意空格,网上有工具生成)

第三步:

因为是基于windows的环境,所以我们找到windows的构建方法。

第四步:

这边做两个windows的构建一个是运行到build.xml目录执行,另外一个是到发送邮件的python脚本目录执行。保存之后,轻松的喝茶等待执行时间的到来,或者说:第二天到公司的时候,打开邮箱就能发现昨晚执行测试的html报告就在你的邮箱。想想都有种高大上的感觉,天了噜!

等待一段时间就能看到构建成功,点击上图的控制台输出能够查看到执行的过程,如下图:

看到这些你是不是觉得很熟悉,对的,就是和运行 cmd里面执行的过程完全一致(控制台的看法还有一种,自己找资料去看吧;还有值得注意的是:如果在cmd执行成功,构建失败的话,绝大部分原因是进入的目录不对,通过同样的方法在失败的控制台查看,然后更改进入对应文件夹的方式)。

总结:以上就是一个完整的jmeter+ant+Jenkins的接口自动化平台搭建的方法,其中还运用了python的发送邮件功能;希望对你的平台搭建有一定的帮助;另外对于jenkins的安装、用法写的比较粗,我只是写了我现在能够用到的东西,其实jenkins这个工具的功能很强大,感兴趣的可以自行的去学习。

Jmeter+Ant+Jenkins构建接口自动化测试平台(Windows)的更多相关文章

  1. Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因

    Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因:接口响应数据中有&#

  2. Jmeter+ant+Jenkins构建接口自动化测试

    1.已写好jmeter脚本 2.安装ant并将ant-jmeter-1.1.1.jar文件放入ant/lib目录,用于调用jmeter 3.修改jmeter的jmeter.properties文件(将 ...

  3. jmeter+ant+jenkins搭建接口自动化测试环境

    jmeter+ant+jenkins搭建接口自动化测试环境(基于win) 1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmete ...

  4. 七、Jmeter + ant + jenkins轻量级接口自动化测试

    七.Jmeter + ant + jenkins轻量级接口自动化测试 杀猪不用牛刀,工具没有牛逼高大尚之分,每个工具都有存在的理由:关键是看会不会用,怎么用,有没有用在合适的地方. 需要安装的工具: ...

  5. 基于Jmeter+maven+Jenkins构建性能自动化测试平台

      一.目的: 为能够将相关系统性能测试做为常规化测试任务执行,且可自动无人值守定时执行并输出性能测试结果报告及统计数据,因此基于Jmeter+maven+Jenkins构建了一套性能自动化测试平台 ...

  6. Jmeter+ant+Jenkins实现接口自动化平台及报告发送

    项目中实现了比较方便的自动化体系,一直没时间总结一下,现抽空整理一番,废话不多说  内容如下: 一.环境准备  jmeter : 编写接口脚本,实现接口测试 ant  :静默执行jmeter脚本,并生 ...

  7. jmeter+ant+jenkins 搭建接口自动化测试

    一.jmeter  我用的jmeter3.2   jmeter要运行,必须本地有java环境,所以需要配置jdk什么的,自行配置 二.ant 安装ant 第一步:下载ant  http://ant.a ...

  8. jmeter+ant+jenkins搭建接口自动化测试环境(基于win)

    1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmeter.apache.org/download_jmeter.cgi),我用的 ...

  9. 使用jmeter+ant+jenkins实现接口自动化测试

    摘自:https://blog.51cto.com/6183574/2318519 本次使用linux环境搭建自动化框架 一.配置ANT 首先下载Ant压缩包,下载地址:http://ant.apac ...

随机推荐

  1. 用Python操作MySQL(pymysql)

    用python来操作MySQL,首先需要安装PyMySQL库(pip install pymysql). 连接MySQL: import pymysql connect=pymysql.connect ...

  2. CSS3 之loading动画实现思路

    效果大致如下: 主要实现方式: 该效果主要用到animation-timing-function中的steps()函数,该函数主要用于分步隐藏不同模块. 实现思路: 第一步动画: 第二步动画: 第三步 ...

  3. 白天不懂夜的黑追寻Android规范

    有趣有内涵的文章第一时间送达! 喝酒I创作I分享 关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己. 本篇文章同步微信公众号 欢迎大家关注我的微信公众号:「醉翁猫咪」 生活中总有些东 ...

  4. SSH框架整合1

    ======================web.xml======================= <?xml version="1.0" encoding=" ...

  5. vscode前端插件(我的标配)

    前言 今天给我的vscode编辑汉化了一下)我也不知道为什么要汉化一下... 但是汉化后 我的vue文件木有高亮了,2333(只好一顿操作 再安装插件 还要去百度找 自己留存) 汉化后 是所有的插件都 ...

  6. DotNet Resource

    目录 API 应用框架(Application Frameworks) 应用模板(Application Templates) 人工智能(Artificial Intelligence) 程序集处理( ...

  7. IDEA文件查找功能失效(ctrl+shift+N)

    由于断电.蓝屏引起的强制关机等情况,会导出IDEA文件查找功能失效,Enter file name窗口输入的文字显示红色,无法查出需要的文件.  解决方法: 可以点击File,选择Invalidate ...

  8. pip常用命令(转载)

    用阿里云服务器,使用pip安装第三方库的时候卡的要死.所以我就想pip能不能安装本地的包. 找到了这篇博客: http://me.iblogc.com/2015/01/01/pip%E5%B8%B8% ...

  9. iptables实现端口映射(本地和远程端口映射)

    说明:需要将外网访问本地IP(192.168.75.5)的80端口转换为访问192.168.75.3的8000端口,这就需要用到iptables的端口映射 实现:1. 需要先开启linux的数据转发功 ...

  10. 用于KV集群的一致性哈希Consistent Hashing机制

    KV集群的请求分发 假定N为后台服务节点数,当前台携带关键字key发起请求时,我们通常将key进行hash后采用模运算 hash(key)%N 来将请求分发到不同的节点上, 后台节点的增删会引起几乎所 ...