强!推荐一款开源接口自动化测试平台:AutoMeter-API !

news2024/12/29 11:03:28

在当今软件开发的快速迭代中,接口自动化测试已成为确保代码质量和服务稳定性的关键步骤。

随着微服务架构和分布式系统的广泛应用,对接口自动化测试平台的需求也日益增长。

今天,我将为大家推荐一款强大的开源接口自动化测试平台: AutoMeter-API

1、介绍

AutoMeter-API是一款专为测试人员设计的自动化测试平台,它集成了对分布式服务、微服务API、接口、功能和性能的一站式测试解决方案。该平台不仅支持项目管理、微服务、API接口、环境管理,还提供了测试用例、前置条件、变量管理、测试集合、测试计划、测试报告等功能。更重要的是,AutoMeter-API支持分布式多机执行功能/性能测试,确保测试的高效性和准确性。

项目地址:

https://gitee.com/season-fan/autometer-api
https://github.com/AutoMeter/AutoMeter-API

2、AutoMeter-API特点、优势

AutoMeter-API是一款基于Java开发的开源接口自动化测试平台,旨在为用户提供简洁、高效且可扩展的测试解决方案。与传统的测试工具相比,AutoMeter-API采用了先进的设计理念和技术架构,使其在易用性、灵活性和性能上都有显著的提升。

特点方面,AutoMeter-API具备以下几大亮点:

  • 简洁的配置:通过YAML或JSON格式的配置文件,用户可以轻松定义测试用例和测试数据,无需编写繁琐的代码。
  • 强大的HTTP支持:无论是RESTful API还是SOAP Web Services,AutoMeter-API都能提供全面的支持,满足不同接口类型的测试需求。
  • 多协议兼容:除了HTTP/HTTPS,它还支持其他协议如TCP、MQTT等,让测试范围更加广泛。
  • 灵活的扩展性:用户可以通过编写自定义插件来扩展功能,以适应特定的测试场景。
  • 集成友好:AutoMeter-API能够与持续集成工具如Jenkins、GitLab CI等无缝集成,实现自动化测试流程。

3、技术架构

任何平台、系统的架构设计都需要从业务需求出发,脱离需求谈架构都是耍流氓,那针对API的测试业务需求是什么呢?

当前大多数API服务的测试现状:

  • 1.使用测试工具Postman,Jmeter,完成API的功能接口测试,或者使用Testng,Junit,等其他类库,再配合读取数据,展示结果等组件搭建框架
  • 2.针对API,服务的性能测试,使用Jmeter,Loadrunner等工具完成多次性能测试验证

上述这些传统的方式都可以完成各自的需要,但是问题是API,用例数据分散管理,功能和性能的执行使用不同的工具,站在全局的角度我们可以统一到一个平台上来完成这些工作。

基于以上这些需求,AutoMeter的架构上有如下设计:
架构图

整个数据流程:

  • 1.后台App,管理系统前端页面的展示–Vue,打包后部署在nginx中提供访问

  • 2.测试中心服务-TestCenterService,管理后台页面数据的接口支持,也支持从CI(Jenkins完成打包部署后)触发测试计划的执行

  • 3.调度服务-DispathService,测试中心服务提交测试计划,调度服务将测试计划中的用例,根据规则分配给多个不同的Slaver,比如平均分配到多个测试执行机,或者指定测试执行机分配,然后定时将分配好的用例推送给不同的slaver测试执行机执行,在推送前会调用ConditionService检查是否有条件需要执行

  • 4.条件服务-ConditionService,专门用来处理计划或者用例执行测试前后各种不同类型的条件处理,例如执行测试前需要做数据库准备,调用某些接口获取中间变量,缓存处理,返回某些数据,执行测试后处理某些操作也是同理

  • 5.测试执行机–SlaverService,作为运行用例的实体,支持自定义功能,性能类型,支持横向扩展,启动后会注册到系统中,SlaverService会根据获取的用例去调用Jmeter执行功能或者性能测试,在Jmeter内部会调用api-jmeter-autotest的java工程,处理功能和性能的执行,以及结果的收集

4、平台使用与效果

1、平台访问首页

2、针对什么来测试?

支持分布式服务,微服务架构API进行测试、支持导入postmanswagger


3、环境如何定义?

可以区分多套测试环境,如功能测试环境和性能测试环境,多套环境分开管理,有序而不相互干扰进行测试工作。

4、设计、运行测试用例

根据测试业务需要,定义成多个测试集合来满足不同的测试需要,功能测试,性能测试,回归测试,CI对接自动化测试 支持立即执行,定时执行,某天执行等多种方式。

5、测试报告生成与反馈

支持生成用例测试结果,包括接口性能响应时间,以及被测系统优化前后测试结果多次对比。

5、小结

总结来说,AutoMeter-API作为一款开源接口自动化测试平台,以其简洁的配置、强大的功能和良好的扩展性,为软件开发团队提供了一种高效、可靠的测试手段。

如果你想在本地部署,可参考:https://gitee.com/season-fan/autometer-api#%E9%83%A8%E7%BD%B2 部署文档,如果你只是想体验尝尝鲜,可以直接访问在线体验地址:

访问地址:http://101.43.118.152/#/Dashboard
账号密码: test/test123

更多功能,大家可以行自探索~

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

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

相关文章

备战 清华大学 上机编程考试-冲刺前50%,倒数第5天

T1:多项式求和 小K最近刚刚习得了一种非常酷炫的多项式求和技巧,可以对某几类特殊的多项式进行运算。非常不幸的是,小K发现老师在布置作业时抄错了数据,导致一道题并不能用刚学的方法来解,于是希望你能帮忙写一个程序…

SpringBoot+Vue体育馆管理系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 学生管理员 功能截图

计算机网络 期末复习(谢希仁版本)第4章

路由器:查找转发表,转发分组。 IP网的意义:当互联网上的主机进行通信时,就好像在一个网络上通信一样,看不见互连的各具体的网络异构细节。如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就…

144、二叉树的前序递归遍历

题解: 递归书写三要素: 1)确定递归函数的参数和返回值。要确定每次递归所要用到的参数以及需要返回的值 2)确定终止条件。操作系统也是用栈的方式实现递归,那么如果不写终止条件或者终止条件写的不对,都…

从哲学层面谈稳定性建设

背景 我(姓名:黄凯,花名:兮之)在阿里工作了五年,一直在一个小团队从事电商的稳定性工作。看了很多稳定性相关的文档,很少有能把稳定性说明白的文档。也有一些文档也能把涉及的方方面面说清楚&a…

办理公司诉讼记录删除行政处罚记录删除

企业行政处罚记录是可以做到撤销消除的,一直被大多数企业忽略,如果相关诉讼记录得不到及时删除,不仅影响企业招投标,还影响企业的贷款申请,严重的让企业资金链断裂,影响企业长远发展和企业形象。行政处罚是…

配置网页版的SQL Developer : Oracle Database Actions

我们知道SQL Developer有三种形式: 桌面版,这个最常用命令行版,即SQLcl网页版,即SQL Developer Web,最新的名字叫Oracle Database Actions, 本文讲述3,如何配置SQL Developer网页版。 第一步…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(一)

主要帮助大家面向工作过程中Linux系统常用的命令联系,采用极致的实用主义,帮助大家节省时间。 文章目录 前言 一、linux系统 二、linux系统基本命令 1.Linux系统的目录结构 2. 常用命令介绍 3.命令演示 4.作业练习 总结 前言 主要帮助大家面向工作过程中…

「动态规划」打家劫舍的变形题,你会做吗?

213. 打家劫舍 IIhttps://leetcode.cn/problems/house-robber-ii/description/ 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时&#x…

C++ Easyx案例实战:Cookie Maker工作室1.0V

前言 //制作属于自己的工作室! 注:运行效果以及下载见Cookie Maker 工作室成立程序。 关于Cookie Maker工作室成立的信息,I am very happy(唔……改不过来了)。 OKOK,第一次用图形库写程序(图形…

基于Simulink的双端行波测距

1 输电线路故障仿真模型 基于双端行波测距理论,在MATLAB软件中搭建的三相50Hz的输电线路故障仿真模型如图1所示,该模型包含了三相电源、输电线路、故障发生器和示波器模块等。主要仿真参数设置如下:仿真时间为 0~0.1s,采用固定步长 10-7和ode3 算法&…

knoXSS(case01~10)

case 01: 先在每个框里都输入:<script>alert(1)</script> 检查源码 这里第三个和第四个点都被处理过了&#xff0c;所以先考虑第一个和第二个点 这里试了一下&#xff0c;发现GET也能传参&#xff0c;所以构造 成功 case 02: 这里发现变量a和这个似乎有关联&…

【C语言】Leetcode-312 戳气球

文章目录 题目思路代码如下 题目 链接: Leetcode-312 戳气球 思路 我们观察戳气球的操作&#xff0c;发现这会导致两个气球从不相邻变成相邻&#xff0c;使得后续操作难以处理。于是我们倒过来看这些操作&#xff0c;将全过程看作是每次添加一个气球。 首先 我们需要创建一个…

社交“学习伙伴”:Meta Llama助力对话升级

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【数据结构】排序——插入排序,选择排序

前言 本篇博客我们正式开启数据结构中的排序&#xff0c;说到排序&#xff0c;我们能联想到我之前在C语言博客中的冒泡排序&#xff0c;它是排序中的一种&#xff0c;但实现效率太慢&#xff0c;这篇博客我们介绍两种新排序&#xff0c;并好好深入理解排序 &#x1f493; 个人主…

HCIA--NAT地址转换(复习)

先交换后路由&#xff1a; 1&#xff1a;在交换机上创建vlan&#xff0c;进入接口划分vlan&#xff0c;接着在交换机连接路由器的接口上建立trunk干道 2&#xff1a;在路由器上&#xff0c;先配置物理接口IP&#xff0c;接着在路由器上创建两个子接口&#xff0c;将建立的vla…

100道面试必会算法-32-二叉树右视图用栈实现队列

100道面试必会算法-32-二叉树右视图&用栈实现队列 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4]示例 2: 输入: [1,n…

powershell:使用IProgressDialog接口创建windows标准进度对话框。

禁止任何形式的抄录&#xff0c;转载请附上本文章地址 Add-Type using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.InteropServices; // 定义ProgressDialog类&#xff0c;实现IProgressDialog接口 …

数据库之PostgreSQL详解

一、PostgreSQL介绍 PostgreSQL是一个功能强大的 开源 的关系型数据库。底层基于C实现。 PostgreSQL的开源协议和Linux内核版本的开源协议是一样的。。BDS协议&#xff0c;这个协议基本和MIT开源协议一样&#xff0c;说人话&#xff0c;就是你可以对PostgreSQL进行一些封装&a…

K210视觉识别模块学习笔记5:(嘉楠)训练使用模型_识别人脸

今日开始学习K210视觉识别模块:(嘉楠)训练与使用模型_识别人脸 亚博智能的K210视觉识别模块...... 固件库版本: canmv_yahboom_v2.1.1.bin 之前的训练网址部署模型时需要我们自己更换固件&#xff0c;而且还不能用亚博的图像操作库函数了&#xff0c;这十分不友好&#xff0…