JMeter+Ant+Jenkins构建接口报告(无人驾驶版)

news2024/11/29 9:00:00

 展示结果:

uc浏览器打开测试报告,绿色显示脚本结果

搭建操作步骤如下

1.jemter写好脚本

2.下载并配置ant环境变量:加上activation.jar、commons-lang3-3.8.1.jar、mail.jar 这3个包

mail.jar需要引用到jmeter

3.下载安装Jenkins 并进行构建

一:下载地址 Apache Ant - Binary Distributions,下载后解压到指定位置即可,

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

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

1.安装ant的目录下的lib中缺少jar包(activation.jar、commons-lang3-3.8.1.jar、mail.jar

在这里插入图片描述

2.下载完成并放在jmeter的lib中 

重点:进入apache-jmeter-5.4.3\apache-jmeter-5.4.3\extras的build文件中修改

build文件直接复制成如下,改下邮箱号码就可以用了,铁子,还有文件路径得改成你的对应的

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

<project name="ant-jmeter" default="run" basedir=".">

<property name="jmeterPath" value="C:\Users\86150\Downloads\apache-jmeter-5.4.3\apache-jmeter-5.4.3" />  

<!-- 邮箱相关 -->

<property name="mailhost" value="smtp.qq.com" />  

<property name="mailsubject" value="接口自动化测试报告" />  

<property name="mail_port" value="465" />

<property name="username" value="xx@qq.com" />

<property name="password" value="qq邮箱密钥" />

<property name="mailfrom" value="xx@qq.com" />

<property name="mail_to" value="xx@meprestamo.mx"/>

<property name="message" value="HI!,详情请看附件(建议用UC/Edge浏览器打开),请查收~~" />

<tstamp>

    <format property="time" pattern="_yyyy_MMdd_HHmmss" />

</tstamp>

<property name="basedirectory" value="C:\Users\86150\Downloads\apache-jmeter-5.4.3\apache-jmeter-5.4.3" />  

<!-- 需要改成自己本地的jmeter目录 -->

<property name="jmeter.home" value="${jmeterPath}" />  

<!-- 报告标题名称 -->

<property name="report.title" value="接口报告" />  

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

<property name="jmeter.result.jtl.dir" value="${basedirectory}\report" />  

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

<property name="jmeter.result.html.dir" value="${basedirectory}\report" />  

<!-- 生成的报告的前缀-->    

<property name="ReportName" value="APIreport" />  

<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" />



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

<property name="jmeter.result.dir" value="C:\Users\86150\Downloads\apache-jmeter-5.4.3\apache-jmeter-5.4.3\result" />  -->

<!-- 生成的报告的前缀

<property name="ReportName" value="完件接口" />

<property name="jmeter.result.jtlName" value="${jmeter.result.dir}/${ReportName}.jtl"/>

<property name="jmeter.result.htmlName" value="${jmeter.result.dir}/${ReportName}.html" />-->



<target name="run">

  <antcall target="test"/>  

  <antcall target="report"/>  

  <antcall target="sendEmail"/>

</target>



<target name="test">

    <echo>API_TEST</echo>

  <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>  

  <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">

  <!-- 要执行的测试脚本,"*.jmx"指包含此目录下的所有jmeter脚本-->

    <testplans dir="C:\Users\86150\Downloads\apache-jmeter-5.4.3\apache-jmeter-5.4.3\bin" includes="*.jmx"/>  

    <property name="jmeter.save.saveservice.output_format" value="xml"/>

  </jmeter>

</target>

<!--html报告中时间显示为NAN,原因是ant中确实了两个lib库,xalan-2.7.2.jar和serializer-2.7.2.jar,将这两个库拷贝到ant的lib目录下-->

<path id="xslt.classpath">

  <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  

  <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>

</path>

<!--生成HTML测试报告-->

<target name="report">

    <echo>API_TEST</echo>

    <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}"/>

        <param name="titleReport" expression="${report.title}:${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="lib_classpath">

    <fileset dir="${basedir}/">

        <include name="mail*.jar" />

        <include name="activation*.jar" />

        <include name="commons-email*.jar" />

        <include name="ant-contrib*.jar" />

    </fileset>

 </path>

 <!--自动发送邮件-->

<target name="sendEmail">

    <echo>发送自动化测试报告</echo>

    <mail

        mailhost="${mailhost}"

        mailport="${mail_port}"

        charset="UTF-8"

        ssl="true"

        subject="${mailsubject}"

        messagemimetype="text/html"

        user="${username}"

        password="${password}"  

        tolist="${mail_to}">

        <from address="${mailfrom}" />

            <attachments>

                <fileset dir="${jmeter.result.html.dir}">

                    <include name="${ReportName}${time}.html" />

                    <include name="collapse.png" />

                    <include name="expand.png" />

                    <!-- -->

                </fileset>

            </attachments>

            <message>${message}</message>

    </mail>

</target>

</project>

修改jmeter.properties文件,与此保持一致

修改完成后,进入C:\Users\86150\Downloads\apache-jmeter-5.4.3\apache-jmeter-5.4.3\extras

 输入命令  ant run

二、联合使用(ant+jmeter+jenkins)搭建自动化接口测试框架

1、进入jenkins设置jdk / ant的全局变量;兄弟们一定要设置啊,不然完犊子了

 

 

新建一个项目--构建设置如下

就跑起来了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1576604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法 - 符号表-上

&#x1f3e0;个人主页&#xff1a;尘觉主页 文章目录 算法 - 符号表前言初级实现1. 链表实现无序符号表2. 二分查找实现有序符号表 二叉查找树1. get()2. put()3. 分析4. floor()5. rank()6. min()7. deleteMin()8. delete()9. keys()10. 分析 算法 - 符号表 前言 符号表&am…

MQTT的学习

近期构建物联网平台&#xff0c;学习到MQTT&#xff0c;这里使用的是uniapp作为连接MQTT broker的&#xff0c;这里使用的是国产的EMQX。 MQTT的认识 MQTT 协议入门&#xff1a;基础知识和快速教程 | EMQ&#xff08;简单的认识&#xff09; 创建 MQTT 连接时如何设置参数&am…

前端开发语言有那些?

前端开发语言有那些&#xff1f; 1、html 超文本标记语言&#xff1a;构建前端网页的基本结构&#xff0c;就象人的骨架一样。 2、css 层叠样式表&#xff1a;控制网页的样式和布局&#xff0c;就象人需要穿各种服式展现不同风采。 3、javascript 简称 JS 动态脚本语言&#x…

微信小程序云函数调用方法和技术架构介绍

云函数 云函数是涂鸦根据微信小程序使用场景&#xff0c;结合涂鸦 IoT 开放能力&#xff0c;提供的小程序访问涂鸦 IoT 开放能力接口方案。为此在基础能力中&#xff0c;我们提供了基础请求云函数的 API。 对于特殊的业务场景&#xff0c;需要使用云函数访问业务数据的&#…

智慧园区预约管理系统:提升效率与保障安全的关键

在当今这个信息技术高度发达的时代&#xff0c;智慧园区如雨后春笋般迅速发展&#xff0c;而预约管理作为智慧园区的关键组成部分&#xff0c;其重要性日益凸显。 访客预约系统的精细化设计&#xff0c;为园区的安全和秩序提供了坚实可靠的保障。访客可以通过便捷的在线平台&am…

django系统模板

【一】引子 来看一段代码 def current_datetime(request):now datetime.datetime.now()html "<html><body>It is now %s.</body></html>" % nowreturn HttpResponse(html)直接把HTML页面嵌套在视图函数里返回给浏览器并不是一个好主意&a…

2024年天津中德应用技术大学退役大学生专升本专业考试准考证下载

2024年天津中德应用技术大学退役大学生高职升本科专业课考试准考证下载及考生须知 一、准考证下载打印 4月7日14点开始&#xff0c;天津中德应用技术大学专业课报名审核通过的考生&#xff0c;登录天津中德应用技术大学专业课报名系统&#xff08;http://125.65.42.21:8091/j…

【实战解析】YOLOv9全流程训练至优化终极指南

【实战解析】YOLOv9全流程训练至优化终极指南 0.引言1.环境准备2.数据预处理&#xff08;1&#xff09;数据准备&#xff08;2&#xff09;按比例划分数据集&#xff08;3&#xff09;xml转txt脚本&#xff08;4&#xff09;配置文件 3.模型训练&#xff08;1&#xff09;单GPU…

4.7Qt

自由发挥应用场景实现一个登录窗口界面。 mywidget.cpp #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//窗口相关设置this->setWindowTitle("原神启动");this->setWindowIcon(QIcon("C:\\Users\\17212\\Pict…

【学习】移动端App性能测试流程有哪些

移动端App性能测试是保证App性能表现的重要环节之一。随着移动设备的普及和移动互联网的发展&#xff0c;移动端App的性能测试变得越来越重要&#xff0c;通过科学合理的性能测试可以发现并解决潜在的性能问题优化App运行效果提高用户体验。性能测试旨在评估App在各种场景下的性…

《从零开始学架构》读书笔记(一)

目录 软件架构设计产生的历史背景 软件架构设计的目的 系统复杂度来源 追求高性能 一、单机高性能 二、集群的高性能 追求高可用 一、计算高可用 二、存储高可用 追求可扩展性 一、预测变化 二、应对变化 追求安全、低成本、规模 一、安全 二、低成本 三、规模…

第7章 数据安全

思维导图 7.1 引言 数据安全包括安全策略和过程的规划、建立与执行&#xff0c;为数据和信息资产提供正确的身份验证、授权、访问和审计。虽然数据安全的详细情况(如哪些数据需要保护)因行业和国家有所不同&#xff0c;但是数据安全实践的目标是相同的&#xff0c;即根据隐私和…

数据结构初阶:栈和队列

栈 栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端 称为栈顶&#xff0c;另一端称为栈底。 栈中的数据元素遵守后进先出 LIFO &#xff08; Last In First Out &#xff09;的原则。…

【服务器uwsgi + flask + nginx的搭建】

目录 服务器uwsgi flask nginx的搭建1. 安装必要的软件2. 启动nginx服务3. 测试Nginx4. 配置uwsgi和flask5. 配置nginx 服务器uwsgi flask nginx的搭建 1. 安装必要的软件 安装Python、uWSGI、Flask 和 Nginx。 # Ubuntu 安装命令 sudo apt-get update sudo apt-get ins…

推动科技创新润德生物邀您到场参观2024第13届生物发酵展

参展企业介绍 山东润德生物科技有限公司成立于2014年10月17日&#xff0c;是一家围绕生物制品的研发、生产、营销、国际贸易、技术服务为核心业务的国家高新技术企业&#xff0c;近年来荣获国家制造业单项冠军示范企业、国家级绿色工厂、国家知识产权优势企业、国家工业产品绿…

新人硬件工程师往哪个方向更有前途?

如果是比较沉默寡言&#xff0c;不擅长交际的&#xff0c;那么可以走技术路线。我这里有一套自动化入门教程&#xff0c;不仅包含了详细的视频讲解&#xff0c;项目实战。如果你渴望学习自动化&#xff0c;不妨点个关注&#xff0c;给个评论222&#xff0c;私信22&#xff0c;我…

30天拿下Rust之实战Web Server

概述 随着互联网技术的飞速发展&#xff0c;Web服务器作为承载网站与应用的核心组件&#xff0c;其性能、稳定性和安全性都显得至关重要。Rust语言凭借其独特的内存安全保证、高效的性能以及丰富的生态系统&#xff0c;成为了构建现代Web服务器的理想选择。 新建项目 首先&…

工业视觉检测

目录 我对工业视觉检测的了解 一、关键组成部分 二、应用场景 三、技术挑战 我对工业视觉检测的了解 工业视觉检测是利用机器视觉技术对产品质量进行自动化检查的过程&#xff0c;它在制造业中扮演着至关重要的角色&#xff0c;用于确保产品质量、提高生产效率、减少人工成…

数仓开发之Flume《一》:Flume的概述及安装

目录 1. &#x1f959;Flume概述 1.1 Flume简介 1.2 Flume的架构 1. &#x1f9c0;agent介绍 2. ​Agent 主要有 3 个部分组成&#xff0c;Source、Channel、Sink。 &#x1f957;2.1 Source &#x1f957;2.2 Sink &#x1f957;2.3 Channel 3. &#x1f9c0;Flume 自…

2.k8s架构

目录 k8s集群架构 控制平面 kube-apiserver kube-scheduler etcd kube-controller-manager node 组件 kubelet kube-proxy 容器运行时&#xff08;Container Runtime&#xff09; cloud-controller-manager 相关概念 k8s集群架构 一个Kubernetes集群至少包含一个控制…