8款常见的自动化测试开源框架

news2024/11/17 15:48:59

 在如今开源的时代,我们就不要再闭门造车了,热烈的拥抱开源吧!本文针对性能测试、Web UI 测试、API 测试、数据库测试、接口测试、单元测试等方面,为大家整理了github或码云上优秀的自动化测试开源项目,希望能给大家带来一点帮助。

一、性能自动化测试

1、项目名称:基于Jmeter实现的在线压测平台和在线管理Jmeter脚本系统

B站最牛的Python接口自动化测试进阶教程合集(真实企业项目实战)

项目简介:

  • 本项目基于renren-fast Java开发平台开发,内核基于Jmeter-Api和Jmeter脚本实现在线性能压测。

具有如下特点

  • 友好的代码结构及注释,便于阅读及二次开发
  • 实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术
  • 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求
  • 页面交互使用Vue2.x,极大的提高了开发效率
  • 完善的代码生成机制,可在线生成entity、xml、dao、service、html、js、sql代码,减少70%以上的开发任务
  • 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
  • 引入API模板,根据token作为登录令牌,极大的方便了APP接口开发
  • 引入Hibernate Validator校验框架,轻松实现后端校验
  • 引入云存储服务,已支持:七牛云、阿里云、腾讯云等
  • 引入swagger文档支持,方便编写API接口文档
  • 引入路由机制,刷新页面会停留在当前页
  • 引入最新版本Jmeter-Api,支持分布式压测,测试报告生成及在线查看下载。
  • 引入Echarts,支持在线观测性能压测结果。

项目地址:https://gitee.com/smooth00/stressTestPlatform

2、项目名称:分布式压力测试工具 Beetle.DT

项目简介:基于 .NET 实现的分布式压力测试工具,用户可以根据需求编写相关的测试用例;通过工具的管理界面即可以把测试用例推送到服务中心,再根据实际压测的需求把测试用例分配到不同节点上运行。工具会根据测试的情况实时获取测试结果,测试完成后用户还可以查询具体的测试报告。节点采用进程隔离的方式运行测试用例,所以测试用例的运行都是相互独立。

项目地址:https://gitee.com/ikende/Beetle.DT

3、项目名称:基于 Go 的压力测试工具 armyant

项目简介:armyant 是从 http 压力测试工具 hey 改装而成。不过,hey 只支持 http 接口的压力测试,而 armant 可以自定义压测协议。目前默认实现了 http,mqtt 两种协议的压力测试。

项目地址:https://gitee.com/plug/armyant

二、Web UI 自动化测试

1、项目名称:自动化测试平台 LuckyFrame 

项目简介:本项目是一款免费开源的测试平台,最大的特点是全纬度覆盖了接口自动化、WEB UI自动化、APP自动化,并且支持分布式测试,测试关键字驱动也很大程度上解决了测试同学代码基础弱的问题。同时也集成了质量管理相关的一些功能,解决 QA 的日常工作中,项目过程数据的收集问题,并能展示一些简单质量报表。

项目地址:https://gitee.com/seagull1985/LuckyFrameWeb

2、项目名称:AutoLine开源平台

项目简介:AutoLine开源平台是一个开源自动化测试解决方案,基于RobotFramework进行二次开发,支持RobotFramework几乎所有的库。

项目地址:https://gitee.com/lym51/AutoLine

三、API 自动化测试

项目名称:Restful Api 集成测试工具 Hitchhiker

项目简介:Hitchhiker 是一款开源的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起管理 Api。

项目地址:https://gitee.com/iwxiaot/Hitchhiker

四、接口自动化测试

1、项目名称:自动化测试平台 phoenixframework

项目简介:phoenixframework 是一个自动化测试平台,集代码托管, 分机(node节点)管理,定时任务,分布式或并发等方式执行通过 phoenix_develop 模块调试好的用例。平台使用 SSH4 开发,覆盖了 webgui,接口,移动mobile 等终端的测试与监控。
目前 webGUI 模块已经完成,兼容 chrome,Firefox,IE,httpunit 以及 phantomjs 驱动。

项目地址:https://gitee.com/phoenixframework/phoenixframework

2、项目名称:TCP/UDP 测试工具 SocketDebugger

项目简介:SocketDebugger 是一款 TCP/UDP 测试工具,并且包括串口转发功能,以及自动回复功能。

项目地址:https://gitee.com/hkiaipc/Socket-Debugger

3、项目名称:HTTP 接口测试插件 ApiDebug

项目简介:ApiDebug 是一个浏览器HTTP接口测试插件,可以用来测试 HTTP、HTTPS接口。支持POST、GET 等方式,同时也支持 json、xml 等自定义接口参数。系统支持保存历史记录,也可同步测试接口至 CrapApi 接口管理系统(登陆 http://api.crap.cn ,点击同步即可保存)。除接口测试外,系统还包含 json 格式化等小工具。 

项目地址:https://gitee.com/CrapApi/ApiDebug

 3、项目名称:基于 Java 的 Http 接口测试工具

项目简介:JApiTest 是使用 java 开发的 Http 接口测试工具,以可视化形式通过配置 http 参数访问测试接口,并可对返回结果还有判断。

项目地址:https://gitee.com/penngo/JApiTest

 五、数据库自动化测试

项目名称:数据库单元测试框架 xlsunit

项目简介:面向数据库应用的单元测试框架,使用excel,作为输入,以及输出比较,适合大量数据库操作。

如下情况可以使用 xlsunit:

  • 必须使用 Spring 或者 Spring Boot,因为会利用 Spring 单元测试事务回滚机制。

  • 面向数据库应用,特别是一个业务操作,有多个表的变化。

  • xlsunit 支持 Spring 4 以上,SpringBoot1.5 以上,支持 Oracle,MySql,Postgres 等数据库。

项目地址:https://gitee.com/xiandafu/xlsunit

六、数据调优测试

影响系统性能和效率,数据库起到一个非常关键的作用,而SQL的优化又是成本最低的一种优化方式,所以我把这一项也列为测试人员需要关注的方面。

项目名称:soar-web

项目简介:基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具,支持 soar 配置的添加、修改、复制,多配置切换,配置的导出、导入与导入功能。目前只支持mysql。

项目地址:https://github.com/xiyangxixian/soar-web

项目介绍:10月20日,在开源先锋日(OSCAR DAYS)上,小米将宣布开源自研的SOAR(SQL Optimizer And Rewriter)。

       这是一款智能 SQL 优化和改写工具,开发人员可以直接通过此工具快速的对自己的 SQL 进行质量检查,生成评估报告,防止将问题 SQL 带到线上从而导致服务质量下降。它不仅能够尽可能地提高线上代码质量,还能避免一些由于人为疏漏而带来的隐患。

       SOAR 由语法解析器、集成环境、优化建议、重写逻辑、工具集五大模块组成。它拥有独立的不依赖数据库的 SQL 解析能力,能够通过提供的集成环境对 SQL 本身及数据库环境进行评审,找出可能存在的隐患或问题。

近年来,自动化测试越来越热门,该领域新的挑战和机遇也在同步产生,尤其是AI,RPA和机器学习,可以预见会在几年中快速增长。因此,考虑自动化的方式很有必要,今天为大家推荐9个开源的自动化测试框架,供小伙伴们参考。

8款开源自动化测试框架,速速收藏

1、Carina

Carina是基于Java的自动化测试框架,它不依靠特定的技术堆栈,因此测试人员智只能在iOS和Android之间重用测试自动化代码。

它的重要功能有:能把所有测试层,包括移动端、Web应用程序、REST服务甚至数据库组合到同一应用程序;支持关系和分关系数据库;可以用FreeMarker模板引擎生成REST请求。

2、Testproject.io

Testproject.io适合不熟悉软件测试的自动化,并在寻求强大社区的免费平台的测试人员,它基于Selenium、Appium构建,允许测试人员用常用的自动化操作运行测试。

它的重要功能有:支持与全球测试人员共享软件测试和API;有测试记录,全局自动化网格和自动化构件块在内功能;支持多种语言,包括Python、JavaScript、Java、C ++等。

3、Gauge

Gauge是近几年流行起来的测试自动化工具,轻量,能跨平台,基于插件体系结构,能与任何语言,IDE和生态系统一起使用。

它的重要功能有:语法简单;设置简单,可使用单个命令启动并运行框架;通过多种扩展插件支持模块化架构;没有任何特定的结构,能用简单的Markdown创建文本文档。

4、Selenium

Selenium是优秀的Web应用程序开源自动化测试框架,在多个操作系统之间具有交叉兼容性,因此可用多种语言编写测试脚本。

它的重要功能有:跨平台;操作系统和浏览器兼容;集成了多种API和编程语言;高度可定制;集成了工具Selenium IDE,可在不学习特定脚本的情况下进行测试。

5、Katalon

Katalon是操作简单的自动化测试框架,支持Web、移动和API自动化测试。

它的重要功能有:多种脚本语言扩展支持;支持Jira实施;通过分析和记录Web操作并捕获关联的对象来自动生成测试脚本,流程自动化。

6、Galen

用Galen进行测试自动化工作,比较大的作用是改善用户体验,它专门针对UX测试,提供了用于测试、验证移动或Web应用程序布局的特定语法。

它的重要功能有:能指定浏览器窗口的大小以对布局规范进行测试;能用Galen语法,JavaScript或Java编写测试文件;热图分析能生成详细的HTML报告。

7、Serenity

Serenity是基于Java的开源自动化测试框架,可帮助编写自动化的验收和回归测试,易于与行为驱动开发(BDD)集成的工具。

它的重要功能有:能通过抽象样板代码促进编写BDD和Selenium测试;能在维持较低级别记录详细信息的同时,在较高级别上测试多个方案;带有预先构建功能,包括WebDriver管理,Jira集成,运行并行进程等。

8、Appium

Appium是一个基于WebDriver协议的开源自动化测试框架,用于测试移动应用程序,它允许使用相同的API为不同的平台编写测试。

它的重要功能有:提供不同编程语言和框架;允许测试人员创建元素存储库并进行相应的管理;支持iOS,Android和Windows测试套件之间的可重用代码和测试。

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

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

相关文章

信息安全战线左移!智能网联汽车安全亟需“治未病”

当汽车由典型的工业机械产品逐步发展成为全新的智能移动终端,汽车的安全边界发生了根本性改变,信息安全风险和挑战不断增加。 面对复杂的异构网络、异构系统及车规级特异性要求,智能智能网联汽车信息安全到底要如何防护,已经成为…

优维产品最佳实践第2期:一个“好”的告警通知是怎样的?

告警通知信息是监控实践中非常关键的一环,在众多的告警消息中,如何让管理员快速识别关键信息,从而提升故障响应效率? 本期EasyOps产品使用最佳实践,我们将为您揭晓: 一个称得上”好“的告警通知应该是怎样…

ICC2删除所有电源的方法

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?知识星球入口 remove_pg_patterns -all remove_pg_strategies -all remove_pg_strategy_via_rules -all remove_pg_via_master_rules -all remove_pg_regions -all remove_routes -net_types {p…

使用Gradio构建生成式AI应用程序; Stability AI推出Stable Diffusion XL 1.0

🦉 AI新闻 🚀 Stability AI推出最先进的AI工具Stable Diffusion XL 1.0 摘要:Stability AI宣布推出Stable Diffusion XL 1.0,该版本是其迄今为止最先进的AI工具。Stable Diffusion XL 1.0提供更鲜艳、更准确的图片生成&#xff…

背包逆推--数字组合

这个题我们进行Y氏DP分析得到&#xff0c;求得的集合为等于m的数量&#xff0c;那么属性就是count(数量) 进行状态计算&#xff0c;一边是关于不选第i个物品的所有方案&#xff0c;一边是关于选第i个物品的方案。 #include<bits/stdc.h> using namespace std; int a[1000…

【数字IC基础】竞争与冒险

竞争-冒险 1. 基本概念2. 冒险的分类3. 静态冒险产生的判断4. 毛刺的消除使用同步电路使用格雷码增加滤波电容增加冗余项&#xff0c;消除逻辑冒险引入选通脉冲 1. 基本概念 示例一&#xff1a; 如上图所示的这个电路&#xff0c;使用了两个逻辑门&#xff0c;一个非门和一个与…

二. 多传感器时间同步方案(时序闭环)--1

前两篇文章讲了器件选型和多传感器系统设计&#xff1a; 一. 器件选型心得&#xff08;系统设计&#xff09;--1_goldqiu的博客-CSDN博客 一. 器件选型心得&#xff08;系统设计&#xff09;--2_goldqiu的博客-CSDN博客 二. 多传感器时间同步方案&#xff08;时序闭环&#x…

选择适合产品需求管理的项目管理系统,打造完美项目流程!

一般来说&#xff0c;互联网产品经理收到的需求一般分为业务需求、用户需求和产品功能需求。业务需求主要包括战略和规则需求&#xff1b;用户需求一般是真实反馈、真实需求、吐槽、建议等。&#xff1b;功能需求主要围绕产品的旧功能问题进行升级&#xff0c;bug处理、技术问题…

高德地图JS API升级到2.0版本

项目上反馈高德地图底图信息更新不及时&#xff0c;不利于进行点位规划。经研究发现高德地图JS API 1.4.15版本相对于2.0版本&#xff0c;确实地图切片上的标注信息较少。通过工单的形式询问高德的技术工程师认识到1.4.15版本数据更新有延迟&#xff0c;1.4.15版本地图的数据以…

深入理解Go语言中的并发编程【29】【原子操作(atomic包)、并发安全性】

文章目录 原子操作(atomic包)原子操作atomic包示例 并发安全性 原子操作(atomic包) 原子操作 代码中的加锁操作因为涉及内核态的上下文切换会比较耗时、代价比较高。针对基本数据类型我们还可以使用原子操作来保证并发安全&#xff0c;因为原子操作是Go语言提供的方法它在用户…

iOS 应用上架的步骤和工具简介

APP开发助手是一款能够辅助iOS APP上架到App Store的工具&#xff0c;它解决了iOS APP上架流程繁琐且耗时的问题&#xff0c;帮助跨平台APP开发者顺利将应用上架到苹果应用商店。最重要的是&#xff0c;即使没有配置Mac苹果机&#xff0c;也可以使用该工具完成一系列操作&#…

C#实现滑动拼图验证码

开发环境&#xff1a;C#&#xff0c;VS2019&#xff0c;.NET Core 3.1&#xff0c;ASP.NET Core 1、建立一个验证码控制器 新建两个方法Create和Check&#xff0c;Create用于创建验证码&#xff08;返回2张图片和令牌&#xff09;&#xff0c;Check用于验证&#xff08;验证图…

EXCEL数据自动web网页查询----高效工作,做个监工

目的 自动将excel将数据填充到web网页,将反馈的数据粘贴到excel表 准备 24KB的鼠标连点器软件(文末附链接)、Excel 宏模块 优势 不需要编程、web验证、爬虫等风险提示。轻量、稳定、安全。 缺点 效率没那么快 演示 宏环境 http://t.csdn.cn/DRAC2 宏按钮

idea导入maven项目问题

问题产生原因&#xff1a; ①idea加载maven项目&#xff0c;如果网络不通畅&#xff0c;会在maven仓库中产生一个文件&#xff0c;如下图所示: ②当网络通畅时&#xff0c;在下载就会因为此文件导致无法下载正确的maven依赖 解决方案&#xff1a; ①打开maven仓库的根目录 ②…

(学习笔记-内存管理)虚拟内存

单片机是没有操作系统的&#xff0c;每次写完代码&#xff0c;都需要借助工具把程序烧录进去&#xff0c;这样程序才能跑起来。另外&#xff0c;单片机的CPU是直接操作内存的[物理地址]。 在这种情况下&#xff0c;要想在内存中同时运行两个程序是不可能的。如果第一个程序在 2…

骨传导耳机和入耳式耳机哪个好?骨传导耳机适合什么人群使用

骨传导耳机和入耳式耳机哪个好&#xff0c;这个问题&#xff0c;首先我们先了解一下骨传导耳机的对比入耳式耳机的优势有哪些&#xff1a; &#xff08;1&#xff09;健康 骨传导耳机因为是利用骨振动原理&#xff0c;完全不需要经过我们耳膜进行传输&#xff0c;可以有效缓解…

Selenium API基础 8种定位

id定位 class定位 xpath定位 css定位 link partial_link模糊匹配 tag name

Redis 哨兵 (sentinel)

是什么 官网理论&#xff1a;https://redis.io/docs/management/sentinel/ 吹哨人巡查监控后台 master 主机是否故障&#xff0c;如果故障了根据投票数自动将某一个从库转换为新主库&#xff0c;继续对外服务。 作用&#xff1a;无人值守运维 哨兵的作用&#xff1a; 1…

index页面通过<script>引入根目录下的js文件后,vite打包项目后,项目中无js文件解决方法

解决方法&#xff1a; 根据打包报错提示&#xff0c;如图&#xff1a;即在<script>标签中加入&#xff1a;type&#xff0c;如图&#xff1a; 再打包 js文件就会被打包进去&#xff01;

华为认证 | HCIE考过了,证书编号怎么查?

我们都知道&#xff0c;每一个HCIE都拥有属于自己的独一无二的编号&#xff0c;这个编号到底是指什么呢&#xff1f; HCIE作为华为专家级的认证&#xff0c;考试难度极高&#xff0c;你要通过HCIE的笔试、实验LAB考试。 当你“过五关斩六将”&#xff0c;通过LAB的那一刻&…