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

2023-11-13

 在如今开源的时代,我们就不要再闭门造车了,热烈的拥抱开源吧!本文针对性能测试、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测试套件之间的可重用代码和测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

8款常见的自动化测试开源框架 的相关文章

  • 2024几个测试接口的好工具,效率加倍~

    作为一名后端程序员 一定要对自己写的接口负责 保证接口的正确和稳定性 因此 接口测试也是后端开发中的关键环节 但我相信 很多朋友是懒得测试接口的 觉得这很麻烦 一般自己写的接口自己都不调用 而是直接甩给前端或者其他调用方去验证 出了问题再改
  • 外包干了3个月,技术退步明显.......

    先说一下自己的情况 大专生 18年通过校招进入武汉某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋友
  • Appium —— 初识移动APP自动化测试框架Appium

    说到移动APP自动化测试 代表性的测试框架非Appium莫属 从今天开始我们将从 APP结构解析 Appium框架学习 安卓 iOS自动化测试实战 自动遍历回归测试 自动化测试平台及持续集成 多个维度一起由浅入深的学废Appium 今天我们
  • 9个最受欢迎的开源自动化测试框架盘点

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 自动化测试框架可以帮助测试人员评估多个Web和移动应用程序的功能 安全性 可用性和可访问性 尽管团队可以自己构建复杂的自动化测试框架 但是当他们可以使用
  • “性能压测揭密:关键指标分析!“

    在进行全链路压测和性能测试时 需要关注多个关键性能指标 KPIs 来评估系统的性能表现 以下是一些常见的性能测试指标 1 吞吐量 Throughput 系统在单位时间内能够处理的请求数量或事务数量 通常以每秒请求数 RPS TPS 来衡量
  • “揭秘性能测试工具:优化软件性能的关键秘籍“

    性能测试工具的设计宗旨是为了模拟用户对软件应用程序或系统的各种操作 旨在评估关键的性能指标 包括响应时间 吞吐量 并发能力和资源利用率 通过这些工具模拟的多用户环境 我们能够产生与实际工作负载相似的条件 并监测系统在这种情况下的性能表现 一
  • Jmeter 压测-性能调优5大注意

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试/测试开发/全日制/测试管理丨Redis内存数据库

    Redis是一种开源 内存中的数据结构存储系统 它提供了高性能 灵活性和丰富的数据结构 以下是Redis内存数据库的基本介绍 键值存储 Redis基于键值对的存储模型 其中每个键都与一个特定的值相关联 这种简单的数据模型使其易于使用和理解
  • 软件测试/测试开发/全日制/测试管理丨Python深拷贝与浅拷贝

    深拷贝和浅拷贝是两种不同的拷贝方式 它们在处理可变对象 如列表 字典 时有着不同的行为 以下是深拷贝和浅拷贝的主要区别 1 浅拷贝 Shallow Copy 创建方式 浅拷贝通过复制原始对象 创建一个新对象 但对于原始对象中的可变对象 如列
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • Jenkins 插件下载速度慢、安装失败了!我教你怎么解决!

    Jenkins部署完毕 如果不安装插件的话 那它就是一个光杆司令 啥事也做不了 所以首先要登陆管理员账号然后点击系统管理再点击右边的插件管理安装CI CD必要插件 但是问题来了 jenkins下载插件速度非常慢 而且经常提示下载插件失败 真
  • 步骤详图 教你在linux搭建容器环境

    警告 切勿在没有配置 Docker YUM 源的情况下直接使用 yum 命令安装 Docker 1 准备工作 系统要求 要安装Docker CE 社区版 操作系统的最低要求是CentOS7 7以下版本都不被支持 卸载旧版本 Docker改版
  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|Pydantic处理时间类型数据

    简介 我们之前介绍过使用 pydantic 验证数据 比如校验数据的格式等 但是在我们的日常工作中 还有一种数据是需要我们验证的 比如时间数据 时间数据不同于字符串 列表等数据 与他们的验证不一样 本文就来为大家介绍一下 pydantic
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 软件测试|教你使用Python下载图片

    前言 我一直觉得Windows系统默认的桌面背景不好看 但是自己又没有好的资源可以进行替换 突然我一个朋友提醒了我 网络上的图片这么多 你甚至可以每天换很多个好看的背景 但是如果让我手动去设置的话 我觉得太麻烦了 我不如使用技术手段将图片下
  • 盲猜你不懂H5架构和原生架构的区别

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试/测试开发/全日制/测试管理丨Android WebView 技术原理

    Android WebView是一个内置的组件 允许在Android应用中嵌套显示Web内容 Android WebView的技术原理涉及到使用WebKit引擎来渲染Web内容 并提供一系列API和回调函数 使得开发人员可以控制和定制Web
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • 一文让你快速写出高效的软件测试用例

    前言 编写测试用例的目的就是确保测试过程全面高效 有据可查 但要编写出高效的测试用例 需要搞清楚什么是测试用例 以及如何编写出高效的测试用例 接下来将从以下几个部分来进行展开 1 什么是测试用例 2 如何编写测试用例 3 软件测试学习资源分

随机推荐

  • mysql数据库非正常关机报错,启动时mysql被killed掉

    阿里云服务器centos7 6 mysql数据库5 6 44 mysql启动报错 usr bin mysqld safe line 183 15006 Killed nohup usr sbin mysqld basedir usr dat
  • 不翻墙安装油猴

    不翻墙安装油猴 https chrome zzzmh cn info token dhdgffkkebhmkfjojejmpbldmpobfkfo 利用极简插件安装
  • 解决adb connect 连接Android设备报错:由于目标计算机积极拒绝,无法连接

    解决adb connect 连接Android设备报错 由于目标计算机积极拒绝 无法连接 神马东东 目录 一 问题描述 二 解决方法 需Root 三 解决方法 不需要Root 一 问题描述 在使用adb连接Android设备时 可以通过有线
  • mysql底层数据存储原理

    一 前言 1 1 数据存储在哪里 操作系统从寄存器中读取数据是最快的 因为它离CPU最近 但是寄存器有个非常致命的问题是 它只能存储非常少量的数据 设计它的目的主要是用来暂存指令和地址 并非存储大量用户数据的 内存的大小虽然比寄存器大 但是
  • Java 封装、继承、多态的理解

    更好的阅读体验 Java 封装 继承 多态的理解 1 封装 封装 就是隐藏对象的属性和实现细节 仅对外提供公共访问方式 让使用者知道的才暴露出来 不需要让使用者知道的全部隐藏起来 封装的好处 避免使用者直接操作属性值 隐藏类的实现细节 让使
  • python函数可变参数问题

    函数参数 必选参数 默认参数 可选参数 关键字参数 1 有默认参数和可变参数 argment def test a b 0 c print a b c test 1 2 运行结果 1 2 由此可以看出参数是按顺序传递的 不管参数是不是有默认
  • wiredtiger java_Mongodb WT_ERROR:非特定的WiredTiger错误,

    我试过这个命令 mongod repair dbpath storageEngine wiredTiger并收到同样的错误 Mongo版本v3 4 9 当我尝试启动指向现在损坏的数据库的mongo时出现错误 E STORAGE initan
  • 科技云报道:5G还未普及,6G已经来了?

    科技云报道原创 2021年 相信大部分人仍在用着4G网络 甚至都没明白什么是5G 就开始听到6G的消息了 近日 国家知识产权局知识产权发展研究中心发布了 6G通信技术专利发展状况报告 对6G关键技术的专利发展情况进行深度解读 报告显示 当前
  • mysql状态下,命令行清空指令

    mysql状态下 命令行清空指令
  • attention机制_【CV中的Attention机制】SelectiveKernelNetworksSE进化版

    前言 SKNet是SENet的加强版 是attention机制中的与SE同等地位的一个模块 可以方便地添加到现有的网络模型中 对分类问题 分割问题有一定的提升 作者 pprp 编辑 BBuf 1 SKNet SKNet是SENet的加强版
  • QT中QLoggingCategory类的作用

    使用前须知 include category 美 k t ri 种类 类别 使用举例 QLoggingCategory setFilterRules QStringLiteral qt modbus true 作用总结 控制打印输出类别和区
  • html5 first child,childfirst

    在html里 firstchild 有什么作用 表示对第一个字对象的引用 如 DIV的子对象 alert document getElementById abc firstChild tagname 返回SPAN alert documen
  • vcruntime140_1.dll丢失的详细解决办法

    今天准备打开CAD跟ps时候 当打开我自己的ps软件后 弹出了一个对话框 内容是 由于找不到vcruntime140 1 dll 无法继续执行代码 重新安装程序可能会解决此问题 我很纳闷 前几天还好好着呢 于是我上网上查了一下 成功解决了问
  • signature=0e936ad5c99bd8d603e71fa74e787bee,JavaScript 的 BASE64 算法 实现 完美解决中文乱码...

    收藏的Base64编码 解码 在一个外国网站看到的 不过对中文不支持 自己加入了escape 对中文也支持了 先用escape 对中文进行编码 然后再进行base64编码 解码时 再加入 对中文进行解码 p gt W3C DTD HTML
  • URL 链接中 #、?、连接符& 分别有什么作用?

    在一个 URL 中可以包含很多的内容 其中不仅仅是包含 26 个英文字母 10 个罗马数字 中文汉字 还可以拥有井号 问号 连接符 等三种最常见的符号 那么这些符号在网站中都有哪些作用呢 文章目录 一 井号 二 问号 三 连接 一 井号 井
  • Qt:十六进制字符串和十六进制互转

    Qt 十六进制字符串和十六进制互转 前言 一 字符串转换十六进制 1 封装函数 2 函数调用示例 二 16进制转换字符串 前言 网上查了不少方式 踩了不少坑 最终这个方式是我目前使用感觉较好的一种 具体出处已经没印象了 这里放出完整代码供大
  • Spring(二)IOC容器的初始化流程

    文章目录 一 Spring 核心容器类 1 1 BeanFactory 1 2 ApplicationContext 1 3 BeanDefinition 二 IOC容器的初始化 2 1 基于Xml的IOC容器的初始化 2 1 1 寻找入口
  • 15个顶级Java多线程面试题及答案

    1 现在有T1 T2 T3三个线程 你怎样保证T2在T1执行完后执行 T3在T2执行完后执行 这个线程问题通常会在第一轮或电话面试阶段被问到 目的是检测你对 join 方法是否熟悉 这个多线程问题比较简单 可以用join方法实现 2 在Ja
  • LLM在放射科学中应用潜力

    本论文在全球范围内评估了 31 个大型语言模型 LLM 在解读放射科报告并从放射学发现中推导出诊断信息 impression 任务上的表现 这是目前已知的对全球 LLM 用于放射科学自然语言处理 NLP 进行的最全面评估之一 该研究通过在这
  • 8款常见的自动化测试开源框架

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