在当今软件开发的快速迭代中,接口自动化测试已成为确保代码质量和服务稳定性的关键步骤。
随着微服务架构和分布式系统的广泛应用,对接口自动化测试平台的需求也日益增长。
今天,我将为大家推荐一款强大的开源接口自动化测试平台: 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进行测试、支持导入postman
、swagger
。
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
更多功能,大家可以行自探索~