开源接口自动化测试工具AutoMeter

AutoMeter是一款针对分布式服务和微服务API做功能和性能一体化的自动化测试平台。一站式提供项目管理,微服务,API接口,用例,环境管理,测试管理,前置条件,测试集合,变量管理,测试计划,Mock,测试报告等。

开源地址:AutoMeter-API接口自动化测试平台: AutoMeter-API是一款专门为测试人员准备的针对分布式服务,微服务API,接口,功能和性能一体的自动化测试平台。一站式解决接口测试,性能测试,自动化测试的接口测试平台,支持分布式多机并行执行,项目管理,微服务,API接口,环境管理,前置条件,变量管理,测试集合,测试场景,测试用例,测试计划,测试报告,功能/性能测试兼容的一体化测试工具,测试框架平台icon-default.png?t=N7T8https://gitee.com/season-fan/autometer-api

以下是关于AutoMeter的详细介绍:

一、平台概述

AutoMeter一站式提供项目管理、微服务、API接口、用例、环境管理、测试管理、前置条件、测试集合、变量管理、测试计划、Mock、测试报告等功能。在项目开发、迭代交付过程中,开发人员和测试人员需要针对系统微服务API进行调试、回归测试和性能测试,AutoMeter正是为此需求而设计的。

二、主要功能

  1. 多人协作:支持不同的项目、角色、技术人员进行多人协作,提高测试效率。
  2. 多环境管理:可以定义多个不同的测试环境,如开发环境、测试环境、准生产环境、生产环境等,并且这些环境可以分开管理,有序而不相互干扰。
  3. 用例定义:支持定义各种被测系统、API、功能、性能用例,并可以根据需要拆分用例由多机并行执行,以满足不同的测试需求。
  4. 测试类型:支持功能测试、性能测试、回归测试以及自动化测试等多种测试类型,并可以对比测试结果。
  5. 报告生成:生成详尽的功能/性能明细报告和统计报告,包括结果状态、运行时间、请求数据、API的具体响应、期望结果、断言的详细信息以及用例运行时的信息等。

三、架构设计

AutoMeter的架构设计基于业务需求出发,主要包括以下几个部分:

  1. 后台App:管理系统前端页面的展示,通常使用Vue等前端技术栈开发,并打包后部署在nginx等Web服务器中提供访问。
  2. 测试中心服务(TestCenterService):管理后台页面数据的接口支持,也支持从CI(如Jenkins)触发测试计划的执行。
  3. 调度服务(DispathService):将测试计划中的用例根据规则分配给多个不同的测试执行机(Slaver),支持平均分配或指定分配,并定时推送用例给Slaver执行。
  4. 条件服务(ConditionService):处理计划或用例执行前后的各种条件,如数据库准备、接口调用、缓存处理等。
  5. 测试执行机(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作为一款开源的接口自动化测试平台,以其简洁的配置、强大的功能和良好的扩展性,为软件开发团队提供了一种高效、可靠的测试手段。它支持多角色协作、多环境管理、多种测试类型和详尽的报告生成等功能,能够满足不同规模和类型的项目需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【芯片设计- RTL 数字逻辑设计入门 9.4 -- Power Gating 在SoC 芯片电源完整性中的详细介绍】

文章目录 电源完整性简介电源完整性重要性电源完整性主要问题电源完整性问题优化什么是Power Gating?Power Gating的优势与挑战浪涌电流的产生与影响设计中的折中与优化电源完整性简介 电源完整性(Power Integrity, PI)是指在系统级设计中,确保电源分配网络(Power Distri…

kali安装

引言 Kali Linux 是一个基于 Debian 的 Linux 发行版,专门为渗透测试和安全审计而设计。它包含了大量的安全工具,如 Wireshark、Nmap、Metasploit 等,这些工具可以帮助安全专家和研究人员进行网络安全评估、漏洞检测和渗透测试。Kali Linux …

系统架构师(每日一练23)

每日一练 1.软件活动主要包括软件描述、()、软件有效性验证和(),()定义了软件功能及使用限制。答案与解析 问题1 A.软件模型 B.软件需求 C.软件分析 D.软件开发 问题2 A.软件分析 B.软件测试 C.软件演化 D.软件开发 问题3 A.软件分析 B.软件测试 C.软件描述 D.软…

进阶-5.锁

锁 1.概述2.全局锁3.表级锁3.1 介绍3.2 表锁3.3 元数据锁3.4意向锁 4.行级锁 1.概述 分类 按锁的粒度分类: 全局锁:锁住数据库中所有表表级锁:每次操作锁定整张表行级锁:每次操作锁定对应的行数据 2.全局锁 介绍 全局锁就是对…

第N11周:seq2seq翻译实战-Pytorch复现

任务: ●为解码器添加上注意力机制 一、前期准备工作 from __future__ import unicode_literals, print_function, division from io import open import unicodedata import string import re import randomimport torch import torch.nn as nn from torch impor…

Python中的变量:作用域与生命周期的秘密探索

引言 在编程的世界里,变量如同舞台上的演员,它们有着自己的“角色”——存储数据,也有着特定的“登场”和“退场”时刻,即作用域和生命周期。理解这些概念对于编写高效、可维护的代码至关重要。本文将带你一起探索Python中变量的…

一款好看的WordPress REST API 主题

介绍: 主题特色: 使用Nuxtjs WordPress Rest Api 实现前后端分离,可完成多端部署; 主题支持自动切换黑夜模式。 使用说明: service 目录为wordpress主题文件,需要拷贝到wordpress主题目录下&#xff0…

cmake install 区分Debug和Relase

需求: 在vs下界面运行install命令需要将生成的程序按relase和Debug安装到指定目录。 实现: 配置如下cmake set(CMAKE_INSTALL_PREFIX ${PUBLISH_DIR}) message(STATUS "PUBLISH_DIR dir:${PUBLISH_DIR}") install(TARGETS ${TARGET_NAME}…

记录一次经历:使用flask_sqlalchemy集成flask造成循环导入问题

前言: 工作需求,写一个接口,用Python来编写,我首先想到用flask小型框架来支撑,配置sqlalchemy来实现,但是在实现的过程中,发生循环导入问题 我想到用蓝图来解决此问题,但是仍然会出死…

基于PHP的文件上传

文件上传是现代网络应用中不可或缺的功能,它允许用户将本地文件存储到服务器上,用于后续的处理、分发或备份。 一、基于前端验证的文件上传 文件上传漏洞中的前端验证漏洞是一个常见且危险的问题。这类漏洞的产生主要是因为前端验证机制可以通过多种方…

设置虚拟机使用主机以太网而不是WiF连接

虚拟机使用主机的以太网连接而不是Wi-Fi连接,可以通过在虚拟化软件中配置虚拟机的网络设置来实现。以下是一些常见的虚拟化软件(如VMware和VirtualBox)中设置虚拟机网络以使用以太网连接的步骤: 一、VMware中设置 1、打开虚拟网…

微信小程序:点击事件(bindtap)传递参数

小程序在组件上绑定事件后&#xff0c;传递参数的方式不同于前端其他场景中直接加参数的方式&#xff0c;小程序在参数的传递时&#xff0c;采用事件对象的自定义属性的方式&#xff0c;具体实现如下&#xff1a; wxml&#xff1a; <view bindtap"goIndex" data…

JAVA双端队列Deque详解

Java中的双端队列&#xff08;Deque, 全称是double-ended queue&#xff09;是一种具有队列和栈的性质的抽象数据类型。双端队列中的元素可以从两端弹出&#xff08;在队列的头部和尾部进行添加或删除操作&#xff09;&#xff0c;因此它既可以作为FIFO&#xff08;先进先出&am…

天猫 登录滑块 淘系滑块分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关 前言 玩了几天现在才有空研究轨迹直接用了之前的…

UEditor百度富文本后端上传文件接口

UEditor百度富文本后端上传文件接口 直接上代码 接口&#xff1a; RequestMapping("/UEditorConfig")public String list(HttpServletRequest request, HttpServletResponse response) throws IOException {String config environment.getProperty("ueditor.c…

SOMEIP_ETS_059: ResetInterface_wrong_Fire_and_forget_package_get_No_Error_back

测试目的&#xff1a; 验证设备&#xff08;DUT&#xff09;在接收到一个错误的Fire&Forget消息时&#xff0c;不会做出响应或发送错误消息。 描述 本测试用例旨在检查DUT在接收到使用无效接口版本的方法resetInterface的Fire&Forget消息时&#xff0c;是否不会回应…

React 入门第四天:理解React中的路由与导航

在React学习的第四天&#xff0c;我将目光聚焦在React Router上。路由是任何单页应用&#xff08;SPA&#xff09;的核心部分&#xff0c;决定了用户如何在应用中导航&#xff0c;以及不同URL对应的内容如何渲染。通过学习React Router&#xff0c;我体会到了React处理路由的强…

数据库里的幽灵数据 - SQLite WAL模式探秘

亲爱的开发者朋友们,你是否曾经遇到过这样一个令人困惑的场景:你辛辛苦苦地往数据库里插入了新数据,信心满满地打开数据库文件一看,结果却发现新数据仿佛人间蒸发了一般?不要慌,这篇文章将为你揭开这个神秘现象的面纱。 让我们从一个真实的故事开始。 小明是一个移动应用开发…

打卡学习Python爬虫第五天|Xpath解析的使用

什么是Xpath&#xff1f;是在XML文档中搜索内容的一门语言&#xff0c;HTML可以看作是xml的一个子集。 目录 1、安装lxml模块 2、导入lxml中的etree子模块 3、Xpath使用方法 3.1.选择节点 3.2.选择属性 3.3.选择文本内容 3.4.使用通配符*过滤节点 3.5.使用中括号[]索引…

C语言:文件(写入,读取)

磁盘文件分为文本文件和二进制文件。 区分二者很简单&#xff0c;我们可以选定一个文件&#xff0c;以记事本打开&#xff0c;如果其中的内容你能看懂&#xff0c;他就是一个文本文件&#xff0c;相反&#xff0c;如果是一堆你看不懂的东西&#xff0c;那他就是二进制文件。 …