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

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

今天,我将为大家推荐一款强大的开源接口自动化测试平台: 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

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

强!推荐一款开源接口自动化测试平台:AutoMeter-API !的更多相关文章

  1. Jmeter+ant+jenkins接口自动化测试 平台搭建(一)

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

  2. 基于HttpRunner的接口自动化测试平台HttpRunnerManager(二)

    https://github.com/HttpRunner/HttpRunnerManager HttpRunnerManager Design Philosophy 基于HttpRunner的接口自 ...

  3. Django 接口自动化测试平台

    本项目工程 github 地址:https://github.com/juno3550/InterfaceAutoTestPlatform 0. 引言 1. 登录功能 2. 项目 3. 模块 4. 测 ...

  4. 接口自动化测试平台 http://120.79.232.23

    接口自动化测试平台 http://120.79.232.23 T Name Latest commit message Commit time .idea 修改自动化用例修改接口时,其他接口信息被删的 ...

  5. Linux下搭建接口自动化测试平台

    前言 我们今天来学习一下在Linux下如何搭建基于HttpRunner开发的接口自动化测试平台吧! 需要在Linux上提前准备的环境(下面是本人搭建时的环境): 1,Python 3.6.8 (可参考 ...

  6. 接口自动化测试平台-接入持续集成jenkins

    开篇提到,自动化测试最终期望还是能接入持续集成系统jenkins,下面记录下Go接口自动化测试平台是如何设计接入jenkins的. 回到Go接口自动化测试平台,在web系统中触发测试任务执行的入口为: ...

  7. 新特性,推荐一款超强接口管理神器 Apifox

    去年,在公众号给大家推荐了一款新面市不久的接口测试神器:Apifox,如果还未了解的读者,感兴趣的话可查阅原文:推荐一款技术人必备的接口测试神器:Apifox 为了照顾新进来的读者,且最近一年,Api ...

  8. Apifox(1)比postman更优秀的接口自动化测试平台

    Apifox介绍 Apifox 是 API 文档.API 调试.API Mock.API 自动化测试一体化协作平台,定位 Postman + Swagger + Mock + JMeter.通过一套系 ...

  9. 推荐一款新的自动化测试框架:DrissionPage!

    今天给大家推荐一款基于Python的网页自动化工具:DrissionPage.这款工具既能控制浏览器,也能收发数据包,甚至能把两者合而为一,简单来说:集合了WEB浏览器自动化的便利性和 request ...

  10. Jmeter+Ant+Jenkins构建接口自动化测试平台(Windows)

    一.首先先介绍下我的环境: 1. win10系统 2. ant版本:apache-ant-1.10.1(作用:执行脚本,便于后期的持续集成,下载地址:http://ant.apache.org/bin ...

随机推荐

  1. 【GDKOI 2024 TG Day2】不休陀螺(top) 题解

    考虑一个卡牌区间怎样才不是"陀螺无限". 一个是费用在打到一半时费用就不够了.考虑构造一个卡牌序列使其尽量能够在打到一半时费用就不够,如何构造呢? 把 \(a_i > b_i ...

  2. winform之在主窗体中不显示子窗体的菜单栏

    在MDi窗体嵌入子窗体后不显示菜单栏 背景: 由于之前做的一个程序的功能全部都是放在一个界面上的,有一个功能能够在数据库查询数据,并返回到界面上,数据量比较小的时候还好,但是数据量多了,导致它阻塞的其 ...

  3. 剑指offer004(Java)-只出现一次的数字(中等)

    题目: 给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 .请你找出并返回那个只出现了一次的元素. 示例1: 输入:nums = [2,2,3,2] 输出:3 示例 ...

  4. 三端一体计算方案:Unify SQL Engine

    简介: 本文将介绍数仓建设过程中面对三种计算模式,较低的研发效率.不可控的数据质量,以及臃肿数据接口服务的困境的解决方案. 背景 在漫长的数仓建设过程中,实时数仓与离线数仓分别由不同的团队进行独立建设 ...

  5. 深入解读 Flink SQL 1.13

    简介: Apache Flink 社区 5 月 22 日北京站 Meetup 分享内容整理,深入解读 Flink SQL 1.13 中 5 个 FLIP 的实用更新和重要改进. 本文由社区志愿者陈政羽 ...

  6. [Caddy2] cloudflare, acme: cleaning up failed: no memory of presenting a DNS record

    使用 cloudflare 做为 DNS 之后,使用 Caddy 申请 Lets Encrypt 证书. 有时在日志里会发现一系列的提示信息: acme: use dns-01 solver acme ...

  7. CPU是什么?

    在程序是怎样跑起来的这本书中我们首先被询问的一个问题是"程序是什么?它是有什么组成的?而CPU又与程序有什么关系呢?",若我们能知道前两个,其实更容易将你带入讨论"CPU ...

  8. WordPress 整合Bootstrap制作分页代码

    1.整合Bootstrap分页代码 * 因为wordpress默认仅仅提供简单分页, 所以要实现数字分页,需要自定义函数,wordpress可以结合bootstrap制作分页,bootstrap提供了 ...

  9. leaflet 使用kriging.js实现前端自定义插值

    1.GitHub地址:https://github.com/oeo4b/kriging.js 2.核心代码 var variogram = kriging.train(t, x, y, model, ...

  10. 通过ref返回解决C# struct结构体链式调用的问题

    通常结构体不能进行链式调用,因为返回值是一个新的值,需要赋回原值.但现在通过ref关键字配合扩展方法,也能进行链式调用了. 结构体: public struct Foo { public int a; ...