Jmeter+ant+Jenkins接口自动化测试框架

                                                                                                                                                              作者:windfall

背景:

Jmeter是基于Java开发的性能测试工具,也可以用于接口测试,对比LR来说,jmeter的操作简单并且是一款开源软件;

Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台方便快速打包与编译,就像是蚂蚁搬家一样,Jenkins是持续集成工具;

将这三者结合起来可以搭建一套Web HTTP接口测试的持续构建环境,实现接口自动化测试,搭建环境是Windows

一、环境配置

1、Java环境配置

1.1、下载安装包(我使用的是jdk1.8版本,自行下载)

1.2、配置环境变量

      JAVA_HOME 为 C:Program Files (x86)Javajdk1.8.0_20(注意:java我是默认装的C盘)
  CLASSPATH为  .;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar;
  PATH为  %JAVA_HOME%in;%JAVA_HOME%jrein;
1.3、安装验证
在命令窗口中输入java -version 回车,能出现java版本则说明配置成功

 2、jmeter环境配置

2.1、下载安装包(过程略过,自己找安装包,随便装在哪个目录下)

2.2、配置环境变量

      JMETER_HOME 为 jemter安装路径;
  CLASSPATH为 %JMETER_HOME%lib;
  PATH为%JMETER_HOME%in;
2.3、安装验证
在命令窗口中输入jmeter -v回车,能出现jmeter版本则说明配置成功

 

 3、ant环境配置

3.1、安装包下载

下载地址 ,下载后解压到指定位置即可

3.2、配置环境变量

      ANT_HOME 为 ant解压位置
  CLASSPATH为 %ANT_HOME%lib;
  PATH为%ANT_HOME%in;
3.3、安装验证
验证安装结果,命令行输入ant -v,出现版本信息则安装成功

 二、jmeter+ant生成测试报告

1、事先准备好jmeter的测试脚本,f放置在一个新的文件夹里;

2、apache-jmeter-5.0extras目录下的ant-jmeter-1.1.1.jar文件复制到apache-ant-1.10.9-binapache-ant-1.10.9lib目录下;

3、找到jmeter.properties文档,在jmeter/bin目录下,打开该文档并编辑,修改jmeter报告输出格式为xml:

改jmeter.save.saveservice.output_format=csv 为jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#

4、 刚刚放置jmeter脚本的文件夹中新建一个build.xml文件,build.xml文件内代码如下,可自行复制

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project name="ant-jmeter-test" default="run" basedir=".">
 3     
 4     <property name="jmeter.home" value="E:veri_report_ora_dmapache-jmeter-5.0apache-jmeter-5.0" />
 5     <property name="report.title" value="JMeter测试报告"/>
 6   
 7     <property name="jmeter.result.jtl.dir" value="E:ant_study
eportjtl" />
 8    
 9     <property name="jmeter.result.html.dir" value="E:ant_study
eporthtml" />
10   
11     <property name="ReportName" value="APITestReport" />
12     <tstamp> <format property="time" pattern="YYYYMMDD HHmmss" /></tstamp>
13     <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName} ${time}.jtl" />
14     <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName} ${time}.html" />
15 
16     <target name="run">
17         <antcall target="test" />
18         <antcall target="report" />
19     </target>
20     
21     <target name="test">
22         <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
23         <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
24            
25             <testplans dir="E:ant_study" includes="*.jmx" />
26             
27             <property name="jmeter.save.saveservice.output_format" value="xml"/>
28         </jmeter>
29     </target>
30         
31     <path id="xslt.classpath">
32         <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
33         <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
34     </path>
35 
36 
37     <target name="report">
38         <tstamp> <format property="report.datestamp" pattern="YYYY/MM/DD HH:mm" /></tstamp>
39         <xslt 
40               classpathref="xslt.classpath"
41               force="true"
42               in="${jmeter.result.jtlName}"
43               out="${jmeter.result.htmlName}"
44               style="${jmeter.home}/extras/test.xsl">
45               <param name="dateReport" expression="${report.datestamp}"/>
46               <param name="titleReport" expression="${report.title}:${report.datestamp}"/>
47 
48        </xslt>
49 
50               
51         <copy todir="${jmeter.result.html.dir}">
52             <fileset dir="${jmeter.home}/extras">
53                 <include name="collapse.png" />
54                 <include name="expand.png" />
55             </fileset>
56         </copy>
57     </target>
58 
59 </project>
View Code

 以上代码有四处需要根据实际情况进行修改,

(其中第4点是一个报告模板,原始的是jmeter-results-detail-report_21.xsl,可以从网上下载新模板,然后直接在xml里面改名即可)

如下图所示:

 

 5、运行ant命令

直接在命令行中进入build.xml所在文件夹中输入ant,即可运行脚本,看到success代表运行成功

 6、查看报告

在刚刚i配置好的放置报告的文件夹里可以直接查看html格式的报告,简易版报告如下:

 三、结合jenkins进行接口自动化测试

1、配置jenkins和salve负载机的教程请参考https://www.cnblogs.com/big-white/p/12307607.html

2、新建job任务:

首先配置Java/ant工作路径:打开jenkins,进入系统管理-全局工具管理

 

 

 然后创建一个job任务,在general中勾选已经连接好的运行节点,然后在构建中选择invoke ant,填写对应的ant版本,build file中填写build.xml所在路径;

 最后直接一键启动任务,点击build now,运行完成之后,可以在控制台中查看运行结果。

原文地址:https://www.cnblogs.com/big-white/p/14514491.html