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

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

今天,我将为大家推荐一款强大的开源接口自动化测试平台: 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. xilinx下载器,JTAG-HS3和Platform Cable USB II 速度对比

    下面测试速度,以一个V7的配置文件为例子.文件大小如下,27MB.特别是对于有点规模的项目配置文件都是很大的.总不能是点灯项目. 选择普通的下载器,Platform Cable USB.这种下载器是基 ...

  2. python异步正则字符串替换,asyncio异步正则字符串替换re

    自然语言处理经常使用re正则模块进行字符串替换,但是文本数量特别大的时候,需要跑很久,这就需要使用asyncio异步加速处理 import pandas as pd import re import ...

  3. 基础 IO (Linux学习笔记)

    基础IO 1.重谈文件 空文件在磁盘也要占据空间 文件 = 内容 + 属性 文件操作 = 对文件内容+对属性 or 对文件内容加属性 标定一个文件,必须使用文件路径加文件名[唯一性] 如果没有指明对应 ...

  4. SRC信息收集方法论

    "感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友.您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!" SRC信息 ...

  5. 力扣178(MySQL)-分数排名(中等)

    题目: 表: Scores 编写 SQL 查询对分数进行排序.排名按以下规则计算: 分数应按从高到低排列.如果两个分数相等,那么两个分数的排名应该相同.在排名相同的分数后,排名数应该是下一个连续的整数 ...

  6. 力扣21(java&python)-合并两个有序链表(简单)

    题目: 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3 ...

  7. 深度解读 MongoDB 最全面的增强版本 4.4 新特性

    MongoDB 在今年正式发布了新的 4.4 大版本,这次的发布包含众多的增强 Feature,可以称之为是一个维护性的版本,而且是一个用户期待已久的维护性版本,MongoDB 官方也把这次发布称为「 ...

  8. coredump 瘦身风云

    ​简介: minicoredump神也! ​ 继上一篇非典型程序员青囊搞定内存泄露问题后,美美地睡了一觉.睡梦中,突然金光闪闪,万道光芒照进时光隧道,恍惚来到大唐神龙年间.青囊此时化身狄仁杰高级助理, ...

  9. 用Vue仿了一个类似抖音的App

    大家好,我是 Java陈序员. 今天,给大家介绍一个基于 Vue3 实现的高仿抖音开源项目. 关注微信公众号:[Java陈序员],获取开源项目分享.AI副业分享.超200本经典计算机电子书籍等. 项目 ...

  10. 【git】建立分支

    1.git clone现有的项目 git clone git@github.com:zhangshengdong/Zflask.git 2.建立关联 git remote add origin git ...