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

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

一、性能自动化测试

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

项目简介:

  • 本项目基于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测试套件之间的可重用代码和测试。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取  

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

近似消息传递算法(AMP)单测量模型(SMV)

1、算法解决问题 很多人致力于解决SLM模型的求逆问题,即知道观测值和测量矩阵(字典之类的),要求未知变量的值。SLM又叫做标准线性模型,后续又在此基础上进行升级变为广义线性模型。即SLM是yAxe,这里是线性…

数据分析必备:一步步教你如何用numpy改变数据处理(6)

介绍: NumPy 广播(Broadcasting)是指当两个形状不同的数组进行运算时,NumPy 有能力灵活地改变其中某个(些)数组的形状从而使得运算可以正常进行。 广播的规则主要包括以下几点: 当一个数组是一个…

C语言 函数概述

好 接下来 我们来讲函数 构建C程序的最佳方式 就是模块化程序设计 C语言中 最基本的程序模块被称为 函数 所以 这个知识点的重要性不言而喻 这里 我们讲个故事 诸葛亮六出祁山时 为了逼司马懿出战 派人送给力司马懿一件女人衣服 司马懿只是为使者 诸葛亮的饮食起居 使者感叹…

网络 IO 模式

同步 IO 与异步 IO 同步 IO 和异步 IO 是关于数据读写方式的两种不同模式。 同步 IO 是指在程序读写数据时,需要等待操作完成后才能继续执行后面的程序。这种模式下,当程序使用阻塞式 IO 时,会一直等待IO操作完成,程序会暂停执行…

笔试强训Day18 字符串 排序 动态规划

[编程题]压缩字符串(一) 题目链接&#xff1a;压缩字符串(一)__牛客网 (nowcoder.com) 思路&#xff1a; 跟着思路写就完了。 AC code&#xff1a; #include <iostream> #include<string> using namespace std; string a; string ans; int main() {cin >>…

【LAMMPS学习】八、基础知识(5.9)LAMMPS 近场动力学

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。 …

渲染农场怎么渲染照片级效果图?

当讨论3D渲染的真实性时&#xff0c;不可避免地会将目光投向渲染农场。这些基于云的计算大军&#xff0c;专门负责逐帧打造接近现实的画面效果&#xff0c;无论是在电影动画还是在效果图制作等行业&#xff0c;都扮演着重要的支撑角色。对观众来说&#xff0c;画面的真实性几乎…

面试中算法(删去n个数字后的最小值)

有一个整数&#xff0c;从该整数中去掉n个数字&#xff0c;要求剩下的数字形成的新整数尽可能小。 分析&#xff1a;使用栈的特性&#xff0c;在遍历原整数的数字时&#xff0c;让所有数字一个一个入栈&#xff0c;当某个数字需要被删除时&#xff0c;&#xff08;即栈顶数字&g…

开源模型应用落地-CodeQwen模型小试-探索更多使用场景(三)

一、前言 代码专家模型是基于人工智能的先进技术&#xff0c;它能够自动分析和理解大量的代码库&#xff0c;并从中学习常见的编码模式和最佳实践。这种模型可以提供准确而高效的代码建议&#xff0c;帮助开发人员在编写代码时避免常见的错误和陷阱。 通过学习代码专家模型&…

高效项目管理:如何利用zz-plan在线甘特图工具

作为项目管理人员&#xff0c;使用 zz-plan https://zz-plan.com/这样的在线甘特图协作软件可以极大地提高项目管理的效率和效果。以下是结合zz-plan特点的一些关键步骤&#xff1a; 1. 制定项目计划 在zz-plan上创建新的项目&#xff0c;定义项目目标、关键里程碑和最终期限。…

大学数据结构学不进去怎么办?

在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「数据结构的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;除了极少数的“算法天才”&a…

Google Play开发者账号为什么会被封?如何解决关联账号问题?

Google Play是Google提供的一个应用商店&#xff0c;用户可以在其中下载并安装Android设备上的应用程序、电影、音乐、电子图书等。Google Play是Android平台上较大的应用市场&#xff0c;包含了数百万个应用程序和游戏。但是谷歌对于上架应用的审核越趋严格&#xff0c;开发者…

全新Adobe利器:Project Neo为2D平面图像轻松添加3D立体效果

Adobe的崭新创意工具Project Neo&#xff0c;正以其独特的3D技术为传统的2D图像设计领域带来革命性的变化。这款工具的核心功能在于&#xff0c;它能够将原本平面的2D图像巧妙地转化为立体感十足的三维作品。 想象一下&#xff0c;你手中的图标、动画插图&#xff0c;在Projec…

XSS漏洞---XSS-labs通关教程

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 Level-1 过滤源码&#xff1a;无 pyload&#xff1a; name<script>alert(1)</script> Level-2 过滤源码&#xff1a;利用转译函数将特殊字符转译为实体字符 $str $_GET["…

软件系统概要设计说明书(实际项目案例整理模板套用)

系统概要设计说明书 1.整体架构 2.功能架构 3.技术架构 4.运行环境设计 5.设计目标 6.接口设计 7.性能设计 8.运行设计 9.出错设计 全文档获取进主页 软件资料清单列表部分文档&#xff08;全套可获取&#xff09;&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&…

Spring Data JPA的一对一、LazyInitializationException异常、一对多、多对多操作

Spring Data JPA系列 1、SpringBoot集成JPA及基本使用 2、Spring Data JPA Criteria查询、部分字段查询 3、Spring Data JPA数据批量插入、批量更新真的用对了吗 4、Spring Data JPA的一对一、LazyInitializationException异常、一对多、多对多操作 前言 通过前三篇Sprin…

ISIS的基本配置

1.IS-IS协议的基本配置&#xff08;1&#xff09; 2.IS-IS协议的基本配置&#xff08;2&#xff09; 3.IS-IS协议的基本配置&#xff08;3&#xff09; 4.案例&#xff1a;IS-IS配置 R1的配置如下&#xff1a; [AR1czy]isis 1 [AR1czy-isis-1]is-level level-1 [AR1czy-isis-…

设置 kafka offset 消费者位移

文章目录 1.重设kafka消费者位移2.示例2.1 通过 offset 位置2.2 通过时间2.3 设置到最早 1.重设kafka消费者位移 维度策略含义位移Earliest把位移调整到当前最早位移处位移Latest把位移调整到当前最新位移处位移Current把位移调整到当前最新提交位移处位移Specified-Offset把位…

爬虫学习(4)每日一笑

代码 import requests import re import osif __name__ "__main__":if not os.path.exists("./haha"):os.makedirs(./haha)url https://mlol.qt.qq.com/go/mlol_news/varcache_article?docid6321992422382570537&gameid3&zoneplat&webview…

算法分析 KMP算法中next值的计算、0/1背包问题

5.6.1 KMP算法中next值的计算 设模式的长度为m。用蛮力法求解 KMP算法中的 next值时&#xff0c;next[0]可直接给出&#xff0c;计算next[j](1<j<m-1)则需要在 T[0] …T[j-1]中分别取长度为j-1、..、2、1的真前缀和真后缀并比较是否相等&#xff0c;最坏情况下的时间代价…