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

news2025/7/18 7:58:01

平台简介


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

环境准备


环境依赖

  • JDK环境配置

  • Jmeter安装

  • Ant安装环境变量配置

  • Jenkins安装

Ant简介

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

下载安装

下载地址:https://ant.apache.org/bindownload.cgi

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

环境变量配置

  • ANT_HOME C:\apache-ant-1.10.5

  • Path : %ANT_HOME%\bin

  • ClassPath %ANT_HOME%\lib

注意使用你自己的路径

配置检测

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

C:\Users\lyh>ant -version
Apache Ant(TM) version 1.10.5 compiled on July 102018

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

Jenkins简介

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

下载与安装

下载地址:https://jenkins.io/download/

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

PS:如遇到其它问题可参考我另外两篇篇文章

http://t.csdn.cn/SgvIE
https://blog.csdn.net/github_35856054/article/details/125309996?fromshare=blogdetail
<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.1.1\loadTest"/>
<property name="jmeter.home" value="C:\apache-jmeter-5.1.1"/>
<property name="report.title" value="Httpbin API Test Report"/>

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

Ant构建

执行如下命令进行构建

ant -buildfile C:\apache-ant-1.10.5\bin\build.xml

结果如下:

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

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

集成到Jenkins

在Jenkins新建一个任务httpbin_Api_test

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

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

邮件消息推送

参考之前文章
http://t.csdn.cn/SgvIE
https://blog.csdn.net/github_35856054/article/details/125309996?fromshare=blogdetail

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

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

相关文章

九.虚拟内存VM

1.寻址2.虚拟页VM将虚拟内存分割为称为虚拟页的大小固定的块1247是缓存的、36是未缓存的、05是未分配的下图为缺页及处理后页表将虚拟页映射到物理页页表是一个页表条目(PTE)的数组多个虚拟页面可以映射到同一个物理共享页面内存映射&#xff1a;将一组连续的虚拟页映射到一个文…

蓝牙耳机哪个品牌好一点?佩戴最舒服的蓝牙耳机排行

近年来&#xff0c;蓝牙耳机市场呈爆发式增长&#xff0c;越来越优秀的产品出现在大众视野。那么蓝牙耳机哪个品牌好一点&#xff1f;下面&#xff0c;我来给大家推荐几款佩戴最舒服的蓝牙耳机&#xff0c;一起来看看吧。 一、南卡小音舱蓝牙耳机 参考价&#xff1a;246 蓝牙…

一文带你彻底探究webgis坐标系知识(地理坐标系投影坐标系)

首先讲讲经纬度坐标系的起源与发展。其实目的很简单就是为了用数字化的方式来表示我们的地球和世界。 真正意义上与webgis相关的坐标系我们还得先来说说wgs84坐标系。这是老美1984年提出的一套坐标系。故命名为84坐标系。84坐标系是目前应用范围比较广的坐标系,但他并不是最早…

Elasticsearch:理解 Master,Elections,Quorum 及 脑裂

集群中的每个节点都可以分配多个角色&#xff1a;master、data、ingest、ml&#xff08;机器学习&#xff09;等。 我们在当前讨论中感兴趣的角色之一是 master 角色。 在 Elasticsearch 的配置中&#xff0c;我们可以配置一个节点为 master 节点。master 角色的分配表明该节点…

人机协同“全能秘书”丨 AI+金融“降本增效”全靠它!

近年来&#xff0c;我国金融科技蓬勃发展&#xff0c;以人工智能为主要代表的创新技术&#xff0c;为各大金融企业提供了更智能化的金融服务模式&#xff0c;科技与金融业务的深度融合&#xff0c;为金融行业注入新的发展动力。相比较传统人工客服&#xff0c;智能客服以算法为…

函数模板(template关键字的应用)

注释&#xff1a;本文主要介绍了函数模板的由来以及用法&#xff0c;还有关键字template。 我们感到时间的延续像一条我们无法逆行的小溪。 ——柏格森 文章目录一、语言的定式二、函数模板2.1 函数模板格式2.2 模板函数的实例化2.2.1隐式实例化/显式实例化2.3 模板参数的匹配…

SQL注入——floor报错注入

目录 一&#xff0c;涉及到的函数 rand&#xff08;&#xff09; floor&#xff08;&#xff09; concat_ws() as别名&#xff0c;group by分组 count() 报错原理 一&#xff0c;涉及到的函数 rand()函数&#xff1a;随机返回0~1间的小数 floor()函数&#xff1a;小数向…

C/C++开发,无可避免的多线程(篇六).线程池封装类

一、线程池概念 线程池是一种多线程处理方式&#xff0c;它包含一个线程工作队列和一个任务队列。当有任务需要处理时&#xff0c;线程池会从线程工作队列中取出一个空闲线程来处理任务&#xff0c;如果线程工作队列中没有空闲线程&#xff0c;则任务会被放入任务队列中等待处理…

M1、M2芯片Mac安装虚拟机

目录前言一、安装二、网络设置三、连接SSH客户端前言 一直想着给M1 Mac上安装虚拟机&#xff0c;奈何PD收费&#xff0c;找的破解也不稳定&#xff0c;安装上镜像就起不来。 注&#xff1a;挂长久的分享莫名其妙被封&#xff0c;需要安装包请私信我。 一、安装 虚拟机选择&a…

一次惨痛教训让我写了个Windows定期备份文件脚本

目录前言正文前言 说实话在写这篇文章的时候&#xff0c;咸鱼不禁又想起了那件男默女泪的往事 我喜欢做笔记&#xff0c;我觉得好记性不如烂笔头&#xff0c;所以在我的学习生涯以及职业生涯阶段&#xff0c;我用过四款笔记应用——Onenote、语雀、印象笔记、Typora 其中我个…

Nacos配置中心,分组配置参考,以及python、go、bash客户端连接获取

Nacos使用说明 nacos官方网站 https://nacos.io/zh-cn/docs/v2/what-is-nacos.html 1、基本配置说明 nacosIP地址&#xff1a;http://xxxxx:8848/nacos/ 服务管理端登录账号&#xff1a;nacos XXX Java最小配置&#xff0c;其他客户端可参考&#xff0c;配置可对应到第三章…

【动态规划】

动态规划1引言题目509. 斐波那契数70. 爬楼梯746. 使用最小花费爬楼梯小结53. 最大子数组和结语引言 蓝桥杯快开始了啊&#xff0c;自从报名后还没认真学过算法有(>﹏<)′&#xff0c;临时抱一下佛脚&#xff0c;一起学学算法。 题目 509. 斐波那契数 斐波那契数 &am…

你来看看这几行代码到底创建了几个字符串?

&#x1f497;推荐阅读文章&#x1f497; &#x1f338;JavaSE系列&#x1f338;&#x1f449;1️⃣《JavaSE系列教程》&#x1f33a;MySQL系列&#x1f33a;&#x1f449;2️⃣《MySQL系列教程》&#x1f340;JavaWeb系列&#x1f340;&#x1f449;3️⃣《JavaWeb系列教程》…

Java中对象的finalization机制

本篇文章我们详细介绍Java中对象的finalization机制&#xff0c;以及怎么使用finalize()方法&#xff0c;将即将被回收的对象&#xff0c;拉回来。1、finalization机制Java语言提供了对象终止&#xff08;finalization&#xff09;机制来允许开发人员提供对象被销毁之前的自定义…

Spring的Async注解线程池扩展方案

目录- [Spring的Async注解线程池扩展方案]- [目录]- [1. 扩展目的]- [2. 扩展实现]- [2.1 扩展Async注解的执行拦截器AnnotationAsyncExecutionInterceptor]- [2.2 扩展Async注解的Spring代理顾问AsyncAnnotationAdvisor]- [2.3 扩展Async注解的 Spring Bean 后置处理器AsyncAn…

Linux安装及管理应用和账号和权限管理 讲解

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…

不系统学习NodeJs之进程线程

不系统学习NodeJs之进程线程 从工作期间断断续续接触Node&#xff0c;从去年的3月份、10月份、又到今年的3月份&#xff0c;终于又决定要再仔细看看Node的相关。 不系统学习的各种时期笔记&参考记录于此。 参考&#xff1a; Node.js 中文网 一篇文章构建你的 NodeJS 知识…

BIC高颜值在线绘图新增颜色集合本地存储功能

用户可以把自己选择的颜色集合存储在自己浏览器本地(鼠标滑过颜色名字可以显示具体代表哪些颜色和色号)&#xff0c;供同一个工具的多套数据使用或者在不同工具之间共享颜色集合的使用&#xff0c;统一多张图一致的配色。最新访问地址&#xff1a;https://www.bic.ac.cn/BIC/ &…

JavaWeb—CSS

目录 &#xff11;、CSS 技术 &#xff11;.&#xff11;、CSS 技术介绍 &#xff11;.&#xff12;、CSS 语法规则&#xff1a; &#xff11;.&#xff13;、CSS 和 HTML 的结合方式 &#xff11;.&#xff13;.&#xff11;、第一种&#xff1a; &#xff11;.&#xf…

Iterator 迭代器

迭代器 为了兼顾 各个子类的特性 实现无差别可以 访问数据 举个例子 遍历数组和遍历链表 两者代码的写法不一样 为了实现 使用相同的代码 对不同的数据容器进行遍历 就出现了 迭代器 for语句的执行和 interator的实现息息相关 目的 访问各个类型 集合 的数据&#xff…