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

相关文章

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Python利用PySpark和Kafka实现流处理引擎构建指南

《Python利用PySpark和Kafka实现流处理引擎构建指南》本文将深入解剖基于Python的实时处理黄金组合:Kafka(分布式消息队列)与PySpark(分布式计算引擎)的化学反应,并构建一... 目录引言:数据洪流时代的生存法则第一章 Kafka:数据世界的中央神经系统消息引擎核心设计哲学高吞吐

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3