接口测试之Jmeter+Ant+Jenkins接口自动化测试平台

这篇具有很好参考价值的文章主要介绍了接口测试之Jmeter+Ant+Jenkins接口自动化测试平台。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

平台简介

一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成。Jmeter支持接口的测试,Ant支持自动构建,而Jenkins支持持续集成,所以三者组合在一起可以构成一个功能完善的接口自动化测试平台。

环境准备

环境依赖

  • JDK环境配置
  • Jmeter安装
  • Ant安装环境变量配置
  • Jenkins安装

Ant简介:Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。

下载地址:  下载之后解压到任意文件路径,我这里是放到E盘根目录。

环境变量配置

  • ANT_HOME E:\apache-ant-1.10.5
  • Path : %ANT_HOME%\bin
  • ClassPath %ANT_HOME%\lib

输入如下命令即可检查是否安装成功

接口测试之Jmeter+Ant+Jenkins接口自动化测试平台,接口自动化测试,jmeter,jenkins,servlet,测试用例,自动化,测试工具,接口测试

注意:如果提示‘ant不是内部命令也不是外部命令’ 说明环境变量可能配置错误

Jenkins简介

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

下载与安装

下载地址: 下载后安装到指定的路径即可,默认启动页面为localhots:8080,如果8080端口被占用无法打开,可以进入到jenkins安装目录,找到jenkins.xml配置文件打开,修改如下代码的端口号即可。

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>

平台搭建

依赖文件配置

  • 首先在Jmeter目录下面新建一个文件夹 loadTest (文件夹名称不要使用下划线,空格字符),并将Jemter测试脚本放置到该文件夹中。
  • 将Jmeter extras 文件中的 ant-jmeter-1.1.1.jar 放到Ant中的 lib文件夹中
  • 将Jmeter extras 文件中的 jmeter-results-detail-report_21.xsl ,build.xmlcollapse.pngexpand.png 放到 ant目录中的 bin目录下面。

build.xml配置

在Ant的bin目录中打开build.xml文件找到以下内容

<property name="testpath" value="${user.dir}"/>
<property name="jmeter.home" value="${basedir}/.."/>
<property name="report.title" value="Load Test Results"/>

<!-- Name of test (without .jmx) -->
<property name="test" value="Test"/>

参数说明

  • testpath 测试计划,这里用于存放测试脚本、测试生成的文件、测试报告
  • jmeter.home Jmeter目录路径
  • report.title 测试报告的标题
  • test jmeter测试脚本的名称(无需后缀.jmx)

这里根据自己的环境修改为

<property name="testpath" value="C:\apache-jmeter-5.2.1\loadTest"/>
<property name="jmeter.home" value="C:\apache-jmeter-5.2.1"/>
<property name="report.title" value="Jmeter Test Report"/>

<!-- Name of test (without .jmx) -->
<property name="test" value="jmeter_test"/>

Ant构建

执行如下命令进行构建

ant -buildfile E:\apache-ant-1.10.9\bin\build.xml

结果如下:

接口测试之Jmeter+Ant+Jenkins接口自动化测试平台,接口自动化测试,jmeter,jenkins,servlet,测试用例,自动化,测试工具,接口测试

 进入到loadTest文件夹可以看到生成如下文件:

接口测试之Jmeter+Ant+Jenkins接口自动化测试平台,接口自动化测试,jmeter,jenkins,servlet,测试用例,自动化,测试工具,接口测试

 打开html测试报告httpbin_test.html 报告内容如下:

接口测试之Jmeter+Ant+Jenkins接口自动化测试平台,接口自动化测试,jmeter,jenkins,servlet,测试用例,自动化,测试工具,接口测试

报告优化及批量运行多个脚本

由于jmeter4.0版本默认提供的build.xml不支持通配符来批量运行多个脚本,所以这里修改build.xml配置文件来实现批量执行,具体脚本如下:

Jmeter默认生成报告不是很详细,因此我们需要进行优化。这里我们使用新的报告模板:,默认的报告模板是jmeter-results-detail-report_21

1、下载style文件:

2、把下载的文件放到jmeter的extras目录下。

3、修改jmeter.properties文件如下部分,我这里都修改成true,这样执行完脚本后就会保存这些结果到.jtl文件里面:

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=false
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

4、由于jmeter4.0版本默认提供的build.xml不支持通配符来批量运行多个脚本,所以这里修改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="D:\Users\apache-jmeter-5.2.1" />
<!-- 设置脚本的测试目录-->
<property name="jmeter.dir" value="loadTest" />

<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="${jmeter.home}\${jmeter.dir}\report\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="${jmeter.home}\${jmeter.dir}\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.jtl.dir}/${ReportName}${time}.jtl">

<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本,也可以指定具体执行的脚本-->
<testplans dir="${jmeter.home}\${jmeter.dir}" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>

</jmeter>
</target>

<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.shanhe.me.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>

<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>
</project>

5、执行脚本,生成报告如下,明显感觉展示的内容比之前的报告多很多,定位问题也比较方便直观:

 

接口测试之Jmeter+Ant+Jenkins接口自动化测试平台,接口自动化测试,jmeter,jenkins,servlet,测试用例,自动化,测试工具,接口测试

集成到Jenkins

在Jenkins新建一个任务jmeter_test

在构建选项中选择Invoke Ant 然后在Build File输入build.xml配置文件路径。注意:不要输入到Targets里面去了,需要点击高级选项后才可以显示出Build File

接口测试之Jmeter+Ant+Jenkins接口自动化测试平台,接口自动化测试,jmeter,jenkins,servlet,测试用例,自动化,测试工具,接口测试

 执行之后可以看到控制台输出和cmd的控制台输出是一样的

接口测试之Jmeter+Ant+Jenkins接口自动化测试平台,接口自动化测试,jmeter,jenkins,servlet,测试用例,自动化,测试工具,接口测试

如果想定制构建则可以在构建触发器中选择Build periodically 如果想每个工作日下班18时执行,则可以如下设置:

 

接口测试之Jmeter+Ant+Jenkins接口自动化测试平台,接口自动化测试,jmeter,jenkins,servlet,测试用例,自动化,测试工具,接口测试文章来源地址https://www.toymoban.com/news/detail-646799.html

到了这里,关于接口测试之Jmeter+Ant+Jenkins接口自动化测试平台的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Jmeter+ant+Jenkins+钉钉机器人群通知的接口自动化测试

         搭建jmeter+ant+jenkins环境有些前提条件,那就是要先配置好java环境,本地java环境至少是JDK8及以上版本,最好是JAVA11或者JAVA17等较高的java环境,像jenkins这种持续构建工具基本都在向上兼容JAVA的环境,以前的JAVA8或者以下版本可能在运行jenkins等时可能会有异常导致执行失

    2024年02月07日
    浏览(57)
  • 最新出炉!知乎最牛最全JMeter+Ant+Jenkins接口自动化测试框架(Windows)

    一:简介 大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件;Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具。将这三者结合起来可以搭建一套Web HTTP接口测试的持续构建环境,实现接口自动化测试,pc系统是

    2024年01月19日
    浏览(36)
  • 自动化篇 | 14 | 轻量级接口自动化框架(jmeter+ant+jenkins)

    下载地址: https://ant.apache.org/bindownload.cgi ANT_HOME C:Program Filesapache-ant-1.10.12 path C:ProgramFilesapache-ant-1.10.12bin classpath C:ProgramFilesapache-ant-1.10.12lib 具体如下: 输入ant -v,进行检查 将j

    2023年04月27日
    浏览(43)
  • 全网最全持续集成接口自动化-jmeter+ant+jenkins

    ant 批量执行Jmeter 1、JDK环境:Java Downloads | Oracle 2、ANT环境:Apache Ant - Binary Distributions 3、Jmeter:Apache JMeter - Download Apache JMeter 4、将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中 5、修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_

    2024年01月23日
    浏览(51)
  • 【性能测试】Jenkins+Ant+Jmeter自动化框架的搭建思路

    前言 前面讲了Jmeter在性能测试中的应用及扩展。随着测试的深入,我们发现在性能测试中也会遇到不少的重复工作。 比如某新兴业务处于上升阶段,需要在每个版本中,对某些新增接口进行性能测试,有时还需要在一天中的不同时段分别进行性能测试,如果一味地采取手动

    2024年02月09日
    浏览(36)
  • Jenkins+Jmeter集成自动化接口测试并通过邮件发送测试报告

    一、Jenkins的配置 1、新增一个自由风格的项目 2、构建-选择Excute Windows batch command(因为我是在本地尝试的,因此选择的windows) 3、输入步骤:     1. 由于不能拥有相同的jtl文件,因此在每次构建前都需要删除jtl文件     2. 存放jmeter生成的报告文件夹必须为空,因此每次构建

    2024年02月12日
    浏览(34)
  • Jmeter+Maven+jenkins+eclipse搭建自动化测试平台

    背景: 首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自动发邮件通知,这样一来性能测试的job配置完成。接着,把性能测试的job配置成开发job的下

    2024年01月22日
    浏览(38)
  • 搭建Jenkins+Jmeter+Ant自动化集成环境

    一、安装前准备         1. JDK :jdk-8u121-windows-x64         2. jmeter 工具:apache-jmeter-5.2         3. ANT 工具:apache-ant-1.9.7-bin         4. jenkins 工具:jenkins-2.32.2 二、软件安装         1.JDK的安装         双击JDK安装包,选择安装路径(默认安装在C盘,熟悉之后

    2024年02月07日
    浏览(41)
  • Jmeter+Ant+Jenkins自动化搭建之报告优化

    一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成。Jmeter支持接口的测试,Ant支持自动构建,而Jenkins支持持续集成,所以三者组合在一起可以构成一个功能完善的接口自动化测试平台。 搭建流程参考我之前一篇文章 Jmeter+Ant+Jenkins接

    2024年02月10日
    浏览(35)
  • Jmeter+Jenkins+Ant自动化持续集成环境搭建

    1.JDK:jdk-8u121-windows-x64 2.jmeter工具:apache-jmeter-2.13 3.ANT工具:apache-ant-1.9.7-bin 4.jenkins工具:jenkins-2.32.2 双击JDK安装包,选择安装路径(本人是默认C盘路径,C:Program FilesJavajdk1.8.0_192) 1)系统变量→新建 JAVA_HOME 变量 。 变量值填写jdk的安装目录(本人是 C:Program FilesJavajdk1

    2024年02月16日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包