AutoMeter是一款针对分布式服务和微服务API做功能和性能一体化的自动化测试平台。一站式提供项目管理,微服务,API接口,用例,环境管理,测试管理,前置条件,测试集合,变量管理,测试计划,Mock,测试报告等。
开源地址:AutoMeter-API接口自动化测试平台: AutoMeter-API是一款专门为测试人员准备的针对分布式服务,微服务API,接口,功能和性能一体的自动化测试平台。一站式解决接口测试,性能测试,自动化测试的接口测试平台,支持分布式多机并行执行,项目管理,微服务,API接口,环境管理,前置条件,变量管理,测试集合,测试场景,测试用例,测试计划,测试报告,功能/性能测试兼容的一体化测试工具,测试框架平台https://gitee.com/season-fan/autometer-api
以下是关于AutoMeter的详细介绍:
一、平台概述
AutoMeter一站式提供项目管理、微服务、API接口、用例、环境管理、测试管理、前置条件、测试集合、变量管理、测试计划、Mock、测试报告等功能。在项目开发、迭代交付过程中,开发人员和测试人员需要针对系统微服务API进行调试、回归测试和性能测试,AutoMeter正是为此需求而设计的。
二、主要功能
- 多人协作:支持不同的项目、角色、技术人员进行多人协作,提高测试效率。
- 多环境管理:可以定义多个不同的测试环境,如开发环境、测试环境、准生产环境、生产环境等,并且这些环境可以分开管理,有序而不相互干扰。
- 用例定义:支持定义各种被测系统、API、功能、性能用例,并可以根据需要拆分用例由多机并行执行,以满足不同的测试需求。
- 测试类型:支持功能测试、性能测试、回归测试以及自动化测试等多种测试类型,并可以对比测试结果。
- 报告生成:生成详尽的功能/性能明细报告和统计报告,包括结果状态、运行时间、请求数据、API的具体响应、期望结果、断言的详细信息以及用例运行时的信息等。
三、架构设计
AutoMeter的架构设计基于业务需求出发,主要包括以下几个部分:
- 后台App:管理系统前端页面的展示,通常使用Vue等前端技术栈开发,并打包后部署在nginx等Web服务器中提供访问。
- 测试中心服务(TestCenterService):管理后台页面数据的接口支持,也支持从CI(如Jenkins)触发测试计划的执行。
- 调度服务(DispathService):将测试计划中的用例根据规则分配给多个不同的测试执行机(Slaver),支持平均分配或指定分配,并定时推送用例给Slaver执行。
- 条件服务(ConditionService):处理计划或用例执行前后的各种条件,如数据库准备、接口调用、缓存处理等。
- 测试执行机(SlaverService):作为运行用例的实体,支持自定义功能和性能类型,支持横向扩展,并会注册到系统中以便接收和执行测试任务。
四、本地部署
部署所需要的基础环境系统的版本如下:
操作系统:Linux或者Windows
中间件:jdk 1.8、redis 5.0.8、mysql 5.7、nginx 1.9.9
第一步 :初始化数据库,到mysql中执行Release/v1.0/AutoMeter/sql/init-sql/testcenter.sql
第二步 :执行脚本:AutoMeterDockSetup-step1.sh,执行完后按照提示操作,如果是部署到公网的服务器(例如阿里云公网ip的服务器),请按照提示修改ip,如果是内网访问,可以直接执行第二步
第三步 :在执行前,请确认本服务器的80,8080,8081,8082,8083,8084 端口未被占用,然后执行脚本:AutoMeterDockSetup-step2.sh
执行完后按照提示操作,完成执行数据库的增量sql。
接下来就可以通过http://localhost:9999正常访问了。
五、使用场景
AutoMeter适用于采用分布式服务和微服务架构的开发团队,在项目开发、迭代交付过程中,需要对系统提供的API进行调试、回归测试和性能测试。通过使用AutoMeter,可以显著提高测试效率,降低测试成本,并提升软件质量。
六、总结
AutoMeter作为一款开源的接口自动化测试平台,以其简洁的配置、强大的功能和良好的扩展性,为软件开发团队提供了一种高效、可靠的测试手段。它支持多角色协作、多环境管理、多种测试类型和详尽的报告生成等功能,能够满足不同规模和类型的项目需求。