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

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

今天,我将为大家推荐一款强大的开源接口自动化测试平台: 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. vue项目如何部署?有遇到布署服务器后刷新404问题吗?

    一.如何部署 前后端分离开发模式下,前后端是独立布署的,前端只需要将最后的构建物上传至目标服务器的web容器指定的静态目录下即可 我们知道vue项目在构建后,是生成一系列的静态文件 常规布署我们只需要 ...

  2. element-ui多选(批量)删除

    导出axios请求

  3. ORA-01555:snapshot too old: rollback segment number X with name "XXXX" too small

    ORA-01555:snapshot too old: rollback segment number X with name "XXXX" too small 在查询快照的时候 ...

  4. 牛客网-SQL专项训练5

    ①查询运动员表中运动员的所有信息,按照年龄升序,成绩降序排列.SQL语句为: SELECT  *  FROM  运动员 ORDER 年龄 ASC, 成绩 DESC: 知识点: ASC:升序,默认就为升 ...

  5. 现代斗山X瓴羊:“一横四纵“解决方案聚焦中台场景级部署

    简介: 经过充分的调研后,现代斗山IT团队和业务团队,与瓴羊数据中台项目组一起完成了涵盖客户.商机.设备等多层面的问题梳理及痛点分析,并借助于瓴羊Dataphin+Quick BI+Quick Aud ...

  6. 如何使用 Serverless Devs 部署静态网站到函数计算

    ​简介:手把手教你:如何使用 Serverless Devs 部署静态网站到函数计算. 前言 公司经常有一些网站需要发布上线,对比了几款不同的产品后,决定使用阿里云的函数计算(FC)来托管构建出来的静 ...

  7. Apsara Stack 技术百科 | 数字化业务系统安全工程

    ​简介:数字化平台已经与我们生活紧密结合,其用户规模庞大,一旦系统出现故障,势必会造成一定生活的不便.比如疫情时代,健康码已经成为人们出门必备的条件,一旦提供健康码服务平台出现故障,出行将变得寸步难行 ...

  8. Go语言入门分享

    ​简介: Go语言出自Ken Thompson.Rob Pike和Robert Griesemer之手,起源于2007年,并在2009年正式对外发布.Go的主要目标是"兼具Python等动态 ...

  9. 基于MaxCompute SQL 的半结构化数据处理实践

    ​简介: MaxCompute作为企业级数据仓库服务,集中存储和管理企业数据资产.面向数据应用处理和分析数据,将数据转换为业务洞察.通过与阿里云内.外部服务灵活组合,可构建丰富的数据应用.全托管的数据 ...

  10. [php-src] Php扩展开发的琐碎注意点、细节

    内容均以php-5.6.14为例. 函数中接收的字符串参数长度不包含结尾的0,在 zend_update_property 中,长度的参数是 int len,一般都使用 ZEND_STRL(NAME) ...