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

相关文章

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

使用Python和python-pptx构建Markdown到PowerPoint转换器

《使用Python和python-pptx构建Markdown到PowerPoint转换器》在这篇博客中,我们将深入分析一个使用Python开发的应用程序,该程序可以将Markdown文件转换为Pow... 目录引言应用概述代码结构与分析1. 类定义与初始化2. 事件处理3. Markdown 处理4. 转

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

Java使用Mail构建邮件功能的完整指南

《Java使用Mail构建邮件功能的完整指南》JavaMailAPI是一个功能强大的工具,它可以帮助开发者轻松实现邮件的发送与接收功能,本文将介绍如何使用JavaMail发送和接收邮件,希望对大家有所... 目录1、简述2、主要特点3、发送样例3.1 发送纯文本邮件3.2 发送 html 邮件3.3 发送带

Jmeter如何向数据库批量插入数据

《Jmeter如何向数据库批量插入数据》:本文主要介绍Jmeter如何向数据库批量插入数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Jmeter向数据库批量插入数据Jmeter向mysql数据库中插入数据的入门操作接下来做一下各个元件的配置总结Jmete

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization