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

 

1、安装jmeter

  1.1 下载安装包(过程略过,自己找安装包)

  解压后放在D:\Program Files (x86)\apache-jmeter-2.12。

  注意:如果是最新版apache-jmeter-3.3,后面ant run时可能会不成功,我是先下载的3.3,后面运行ant run时报错,再推倒重来的

  1.2 配置环境变量

  JMETER_HOME 为 D:\Program Files (x86)\apache-jmeter-2.12;

  CLASSPATH为 %JMETER_HOME%\lib;

  PATH为%JMETER_HOME%\bin;

  1.3 安装验证

  在命令窗口中输入jmeter -v回车,能出现jmeter版本则说明配置成功,可以直接在命令窗口输入jmeter回车后启动jmeter

1.4 在jmeter上调试通一个接口(如要测试多个接口,可以参照jmeter用法继续添加)

  配置如图http信息头管理器

  配置如图http请求

  点击启动按钮后点击“察看结果树”,绿色图标代表请求-响应成功,红色代表失败,还要继续检查数据参数是否正确,这里略过。

2、安装JDK

  2.1  下载安装包,我下载的是最新版jdk 1.8.0_152,官网下载地址是http://www.oracle.com/technetwork/java/javase/downloads/index.html

  2.2 配置环境变量

  JAVA_HOME 为 C:\Program Files (x86)\Java\jdk1.8.0_152 (注意:java我是默认装的C盘)

  CLASSPATH为  .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

  PATH为  %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

  2.3 安装验证

  在命令窗口中输入java -version 回车,能出现java版本则说明配置成功

3、安装ANT

https://jingyan.baidu.com/article/e2284b2b45d193e2e6118dc6.html

  3.1 安装包下载

  下载地址 http://ant.apache.org/bindownload.cgi,下载后解压到指定位置即可,我是放在D:\Program Files (x86)\apache-ant-1.9.0,与jmeter放在同一位置

  注意:下载最新版也可能导致后面ant run不成功,我之前是下载的apache-ant-1.10.1,遇到问题之后降版本,成功!

  3.2 配置环境变量

  ANT_HOME 为 D:\Program Files (x86)\apache-ant-1.9.0

  CLASSPATH为 %ANT_HOME%\lib;

  PATH为%ANT_HOME%\bin;

  3.3 安装验证

  验证安装结果,命令行输入ant -v,出现版本信息则安装成功

  4、Ant配置Jmeter:就是用ant构建命令来调动执行jmeter接口测试,并生成测试报告

  4.1 配置库文件

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

  4.2 配置ant的编译文件 build.xml  

在jmeter的根目录下创建一个存放脚本和报告的文件夹testcases

在testcases目录下创建report文件夹和build.xml文件,或者从extras目录下复制build.xml文件到testcases下,编辑build.xml文件全选-删除,把下面我的配置复制上去,保存

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

<project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMdd_hhmm" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->  
    <property name="jmeter.home" value="D:\Program Files\apache-jmeter-3.3" />
    <!-- jmeter生成jtl格式的结果报告的路径--> 
    <property name="jmeter.result.jtl.dir" value="D:\Program Files\apache-jmeter-3.3\testcases\report\jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="D:\Program Files\apache-jmeter-3.3\testcases\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="D:\Program Files\apache-jmeter-3.3\testcases\cases" 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">
              <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>

 

  如下按实际情况修改build.xml文件

  4.3 配置jmeter.properties文档

  找到jmeter.properties文档,在jmeter/bin目录下,打开该文档并编辑,修改jmeter报告输出格式为xml:改jmeter.save.saveservice.output_format=csv 为jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#

  4.4 验证配置,执行构建测试

  将之前jmeter的脚本保存, 并将build.xml配置文件放在与测试脚本相同的目录下

  4.5 执行测试

  在build.xml所在目录打开命令窗口(鼠标在空白处按下shift键后在右键),或者命令行cd到build.xml文件所在目录,输入ant run回车,执行测试

  看到build successful 则说明构建测试成功,离成功越来越近啦啦啦

 4.6 查看测试结果报告

  在报告输出存放路径下查看是否有jtl和html结果报告,存放路径在build文档中也有

  打开html文档,测试结果展现了执行的用例名称、成功率、用例执行时间等结果参数

  这样的结果是不是不太直观,因为用jmeter自带的测试报告得到的测试报告信息并不是很全,下面讲一下怎么优化测试报告(网上找的方法,亲身实践是可行的)

  4.7、 优化测试报告

  ①下载优化模板 jmeter-results-shanhe-me.xsl,拷贝到jmeter的extras目录中

  D:\Program Files (x86)\apache-jmeter-2.12\extras

  ②设置测试输出报告要输出的内容:同样在jmeter.properties中,设置需要输出的内容为true,并去掉前面的注释符号#,这里全部设置成true→保存

jmeter.save.saveservice.data_type=true

jmeter.save.saveservice.label=true

jmeter.save.saveservice.response_code=true

# response_data is not currently supported for CSV output

jmeter.save.saveservice.response_data=true

# Save ResponseData for failed samples

jmeter.save.saveservice.response_data.on_error=false

jmeter.save.saveservice.response_message=true

jmeter.save.saveservice.successful=true

jmeter.save.saveservice.thread_name=true

jmeter.save.saveservice.time=true

jmeter.save.saveservice.subresults=true

jmeter.save.saveservice.assertions=true

jmeter.save.saveservice.latency=true

jmeter.save.saveservice.connect_time=true

jmeter.save.saveservice.samplerData=true

jmeter.save.saveservice.responseHeaders=true

jmeter.save.saveservice.requestHeaders=true

jmeter.save.saveservice.encoding=true

jmeter.save.saveservice.bytes=true

jmeter.save.saveservice.url=true

jmeter.save.saveservice.filename=true

jmeter.save.saveservice.hostname=true

jmeter.save.saveservice.thread_counts=true

jmeter.save.saveservice.sample_count=true

jmeter.save.saveservice.idle_time=true

  ③设置build文件的报告模板为优化后的模板jmeter-results-shanhe-me.xsl

  ④再次用ant构建测试,查看优化后的测试报告

  5、配置Jenkins,构建持续化集成

  5.1 下载安装包,https://jenkins.io/index.html,安装过程略

  5.2 配置环境变量

  JENKINS_HOME 为 D:\Program Files (x86)\jenkins

  5.3启动jenkins

  浏览器中输入:http://127.0.0.1:8080/,打开jenkins,配置用户名、密码及插件,这里需要配置invoke ant插件、HTML测试报告展示的插件如果插件没有安装,安装步骤如下:

Installation Steps:

1. Go to Jenkins Dashboard
2. Click on the link that says "Manage Jenkins"
3. On the Plugin Manager page, go to the "Available" tab next to Updates tab
4. Look for the html publisher plugin, select the checkbox and click install. Wait for it come back with status "Success".
5. Restart Jenkins by clicking the provided link on the success page, or if using tomcat, executing <tomcat-Jenkins>/bin/shutdown.sh and <tomcat-Jenkins>/bin/startup.sh

https://wiki.jenkins.io/display/JENKINS/HTML+Publisher+Plugin

 

  5.4、新建并配置一个JOB

  设置项目名称:

  配置构建:

  配置构建:invoke ant

  配置build文件路径:

  配置测试报告插件,用于打开测试结果报告

  基本配置完成

  5.5、JOB主页,点击立即构建,执行测试

  继续构建基本完成,打开测试报告存放路径会看到新生成的报告文档。

  至此,over!

  后记:还可以配置邮件插件来发送测试报告(还在研究中),设置构建时间来定时自动执行测试,后面再发文。

原文链接:

http://www.51testing.com/html/67/n-3723567.html

https://www.cnblogs.com/autobyme/p/8387407.html

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值