windows下jmeter+ant+jenkins自动化测试环境搭建

一直想在持续集成方向学习并研究一番,近期正准备结合jmeter+ant+jenkins做自动化接口测试,在学习的同时,正好实践一番,毕竟实践才是真理。

在搭建jmeter+ant+jenkins环境有些前提条件,那就是要先配置好java环境、安装好jenkins以及配置好jmeter,这样才能省去很多的事情,如果在搭建这套环境之前,还没有配置好刚提及的这三套工具环境,那还得先配置一番,具体的配置方法就不细说,建议百度一下。

ant下载及环境变量配置

1.ant下载

去官网页面找到download位置,点击下载ant安装文件

2.配置ant环境变量

环境变量的配置方式就不用多说了,如下所示:

ANT_HOME:G:\apache-ant-1.10.5;

path:%ANT_HOME%\bin;

classpath:%ANT_HOME%\lib;

3.检查配置成功与否

win+r打开cmd控制台,输入ant或者ant -version回车,出现如下界面,即表示配置成功

ant配置

1.将\apache-jmeter-3.3\extras下面的ant-jmeter-1.1.1的jar包到ant的lib目录

如下所示:

2.配置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="C:\apache-jmeter-3.3" />

<!-- jmeter生成jtl格式的结果报告的路径-->

<property name="jmeter.result.jtl.dir" value="C:\apache-jmeter-3.3\demo\report\jtl" />

<!-- jmeter生成html格式的结果报告的路径-->

<property name="jmeter.result.html.dir" value="C:\apache-jmeter-3.3\demo\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-3.3\demo" 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-report_21.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>

将对应需要修改的配置,改成自己环境路径以及名称即可

3.修改jmeter下jmeter.properties配置

将jmeter.save.saveservice.output_format=csv修改为:jmeter.save.saveservice.output_format=xml

文件路径:C:\apache-jmeter-3.3\bin\jmeter.properties

dos窗口运行脚本

结合配置文件中的配置,将脚本放到对应的文件夹中,在dos窗口进入到对应目录下,输入ant回车,即可运行脚本

测试报告

提示successful,表示运行成功,来看对应的测试报告,如下:

配置日期格式

配置日期格式混淆了,故做个记录/*

* 日期格式化类(必须掌握)

* API:

* G Era 标志符 Text AD

y 年 Year 1996; 96

M 年中的月份 Month July; Jul; 07

w 年中的周数 Number 27

W 月份中的周数 Number 2

D 年中的天数 Number 189

d 月份中的天数 Number 10

F 月份中的星期 Number 2

E 星期中的天数 Text Tuesday; Tue

a Am/pm 标记 Text PM

H 一天中的小时数(0-23) Number 0

k 一天中的小时数(1-24) Number 24

K am/pm 中的小时数(0-11) Number 0

h am/pm 中的小时数(1-12) Number 12

m 小时中的分钟数 Number 30

s 分钟中的秒数 Number 55

S 毫秒数 Number 978

z 时区 General time zone Pacific Standard Time; PST; GMT-08:00

Z 时区 RFC 822 time zone -0800

脚本在dos窗口运行成功,说明jmeter+ant是已经实现,现在就要结合jenkins来实现自动构建。在安装好了jenkins的环境中,输入localhost:8080即可进入jenkins页面,地址和端口看各自的配置

jenkins中任务配置

1.jenkins中创建任务

2.任务配置

配置构建

3.配置测试报告

需要先安装插件HTML Publisher,插件安装成功后,才有该选项,具体安装就略过了

配置好,保存即可

构建任务

1.立即构建

2.查看报告

就是刚配置的html报告

报告模板样式可以更改,下载样式后,在build.xml配置文件中修改即可

问题总结

1.构建时,提示ant.bat不是内部或外部命令,也不是可运行的程序或批处理文件。

解决办法:检查配置,发现是配置ant时,名称与系统配置的ant名称不一致,导致构建失败。如下两图所示,名称需保持一致。

环境配置下来,其中也学到了很多,之前看文章知识,觉得配置是个很麻烦的事情,自己实际操作一番,倒觉得也不是那么难,只要自己想做,就一定可以。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();