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

2024-04-08 11:52

本文主要是介绍JMeter+Ant+Jenkins构建接口报告(无人驾驶版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 展示结果:

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>  <xsltclasspathref="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><mailmailhost="${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的全局变量;兄弟们一定要设置啊,不然完犊子了

 

 

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

就跑起来了

这篇关于JMeter+Ant+Jenkins构建接口报告(无人驾驶版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/885517

相关文章

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

SpringBoot+Redis防止接口重复提交问题

《SpringBoot+Redis防止接口重复提交问题》:本文主要介绍SpringBoot+Redis防止接口重复提交问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录前言实现思路代码示例测试总结前言在项目的使用使用过程中,经常会出现某些操作在短时间内频繁提交。例

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

Python FastMCP构建MCP服务端与客户端的详细步骤

《PythonFastMCP构建MCP服务端与客户端的详细步骤》MCP(Multi-ClientProtocol)是一种用于构建可扩展服务的通信协议框架,本文将使用FastMCP搭建一个支持St... 目录简介环境准备服务端实现(server.py)客户端实现(client.py)运行效果扩展方向常见问题结

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可