6大热门开源自动化测试框架【建议收藏】

2023-05-16

如果您正在考虑构建自己的测试自动化框架,请在自荐之前,参考一下以下的六大热门自动化测试框架。

在大多数情况下,您将会很好地考虑一个或多个可用的开放源代码选项。这是因为一般来说,框架是可以在团队中使用的一套最佳实践,假设,通用工具和库。很多时候,其实您并不需要一个开发一个独特的测试框架。

您只需要一个框架来帮助您实现自动化测试代码:

可重复使用
可维护性
稳定

我看到一些团队通过从头开始构建自己的复杂的自动化框架,花费了大量的功夫去实现这些必备选项。这使我疯狂,因为其实他们可以很容易地利用现有的开源工具和测试库,而不需要编写任何代码就可以满足他们的需求,而在大多数情况下,这些工具和库都能获得更好的结果。

在陷入“构建自己的框架”陷阱之前,请务必查看这六个开源测试自动化解决方案。务必!文末分享自动化测试学习资源


Serenity

如果您需要一个基于Java的框架,与诸如Cucumber和JBehave之类的行为驱动的开发工具集成在一起,您可以将测试场景保持在高水平,同时在报告中包含较低级别的实施细节,Serenity可能是您比较好的选择。 Serenity(以前称为Thucydides)是一种开源工具,旨在使验收测试和回归测试更容易。

一个主要的好处是,Serenity作为Selenium WebDriver和BDD工具之上的包装。这使得BDD和Selenium测试变得更简单,因为它抽出了许多有时需要编写的样板代码才能开始使用。 Serenity还提供了许多内置功能,例如提供WebDriver管理,在步骤之间管理状态,截取屏幕,并行运行测试,促进Jira集成以及更多的功能,而无需编写单行代码。

Serenity真正的好处是可以生成非常好的测试报告。开箱即用,使用Serenity来创建文档,不仅可以用于查看您的 Selenium BDD测试结果,还可以作为您的应用程序的文档。

它还有一个额外的注释称为@Step。@Step方法为您提供了一个额外的抽象级别,当正确使用时,可以使您的测试更具可重用性和可维护性。

如果您正在创建自己的BDD框架,Serenity将照顾许多您通常必须从头开始编写的内容。我认为这是非常好用的开源框架之一,但是我可能有点偏见,因为它是我日常测试自动化工作中使用的工具。(此处是作者的介绍,本人还没使用过,国内好像也没怎么听说)


Robot Framework

如果您想使用Python进行测试自动化工作,最好的选择就是Robot Framework。

Robot Framework 是为测试人员提供了的成熟解决方案; 它使用关键字驱动的方法来使测试可读和易于创建。它还有许多测试库和其他可以使用的工具。

Selenium WebDriver库可能是最常用的外部测试库,但Robot Framework可以测试FTP,MongoDB,Android,Appium等网站以外的其他内容。除了所有这些开放源代码的美妙之处以外,它还有很多API可以帮助它尽可能的扩展。

Robot Framework 是基于Python的,但您也可以使用Jython(Java)或IronPython(.NET)。

Robot Framework 使用的关键字方法对于已经熟悉其他基于供应商的关键字驱动的测试工具的测试人员来说非常有用,使得向开源的过渡更容易。

如果您的团队由大多数测试人员组成,Robot Framework将是您的自动化框架的一个很好的选择。(CC先生觉得这是目前用过的最好的测试框架,没有之一)


RedwoodHQ

RedwoodHQ与此列表中其他工具的方法略有不同。

它创建一个网站界面,允许多个测试人员一起工作,并从一个可访问的网站运行测试。

测试可以用Java / Groovy,Python和C#编写,使用他们的Web IDE测试Web应用程序,其中包括内置的GIT集成。

您可以利用RedwoodHQ现有的操作关键字来快速开始创建和修改测试。

要创建测试脚本,只需要找到要执行的操作,将其拖动到测试用例中,然后输入其期望的参数值。

内置IDE还允许您创建和修改测试用例和操作以及执行测试。

您还可以并行对预定义的机器执行测试,并查看以前所有测试运行的运行历史记录。

RedwoodHQ对测试人员是友好的,并且有很多内置功能,可以为您的团队创建完整的测试自动化和测试管理解决方案。


Sahi

开发用于测试Web应用程序, Sahi提供开源和专业版。Sahi作为代理服务器,可以让您在浏览器中使用它。您可以从Sahi仪表板启动要测试的浏览器。

Sahi控制器将引导您完成对您的应用程序执行的交互的记录和捕获。例如,当您将鼠标悬停在Sahi浏览器中的任何元素时,它将显示您可以对该特定元素执行的所有操作。您还可以使用控制器播放脚本。

Sahi的记录和播放功能使您可以轻松开始简单的HTML应用程序的测试自动化。但要注意依靠录音和播放; 这种方法已被证明是创建可维护,强大的自动化测试的不良做法。帮助创建初始测试可以,但您需要自定义它,使其可靠和可维护。

我听说过Sahi很多,但是我的第一印象就是它不像其他选择那么强大。然而,很多人都喜欢Sahi专业版。


Galen Framework

如果您的自动化工作专注于用户体验设计(UX)或布局测试,Galen框架可能完全适合您的需求。

Galen专门为UX测试而创建,并具有特殊的语法和规则,可用于描述和验证应用程序的布局。

它还允许您指定浏览器大小,然后根据应用程序运行测试以验证布局规范。

Galen测试还生成具有截图的详细HTML报告,它包括与酷热图功能的可视图像比较。

测试可以使用Galen语法,JavaScript或Java编写在一个简单的文本文件中。


Gauge

Gauge是Mac,Windows和Linux最新的开源测试自动化工具之一,由ThoughtWorks开发,对,就是开发Selenium的那家。

TDD和BDD的簇拥者将欣赏Gauge将创建可被书面化和可执行文档的作为重点。

Gauge的自动化测试用例是依据markdown语法来编写,也支持Java,Ruby和C#语言,可使用现在常用的开发人员IDE(如Eclipse和Visual Studio)。

Gauge的功能也可以通过其对插件的支持来扩展。

Gauge还是一个初生期,仍然处于测试阶段,所以如果您的团队想接触一些前沿尖端的测试开发技术,您可以尝试一下。

综上所述呢,Rotbot Framework还是算比较靠谱的一个自动化测试框架,如有兴趣,你也可以尝试其它的测试框架,毕竟,多态才是这个世界的常态。


最后【可能给予你助力提升的教学视频】

 

 

面试资料

我们学习软件测试必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上面是我整理的配套资源,这些资源对于软件测试的的朋友来说应该是最全面最完整的备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

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

6大热门开源自动化测试框架【建议收藏】 的相关文章

  • 【代码】使用C++实现改进的有效边表算法。

    算法的解释和一些细节晚一些再上传 xff0c 先直接上代码 xff1a 如果有错误可以在评论区指出 由于opengl使用实数的坐标 xff0c 所以 xff0c 本程序将使用画线代替画点 include lt GL glut h gt in
  • FireFox导入导出Cookies和收藏夹的方法

    FireFox是一个常用的浏览器 xff0c 扩展插件众多 xff0c 和IE相比有很多优点 xff0c 不过有些细小的地方似乎考虑的不太好 xff0c 比如用户经常会碰到系统重新安装等问题 xff0c 这就需要导入导出FireFox浏览器
  • linux交换分区回收

    author xff1a skate time xff1a 2012 04 11 交换分区回收 如果系统过多的使用交换分区 xff0c 那性能将会变慢 xff0c 所以要找到大量使用交换分区的原因 回收交换分区可以用如下 xff1a swa
  • Linux下查看文件和文件夹大小的df和du命令

    当磁盘大小超过标准时会有报警提示 xff0c 这时如果掌握df和du命令是非常明智的选择 df可以查看一级文件夹大小 使用比例 档案系统及其挂入点 xff0c 但对文件却无能为力 du可以查看文件及文件夹的大小 两者配合使用 xff0c 非
  • 算法系列之九:计算几何与图形学有关的几种常用算法(一)

    我的专业是计算机辅助设计 xff08 CAD xff09 xff0c 算是一半机械一半软件 xff0c 计算机图形学 是必修课 xff0c 也是我最喜欢的课程 热衷于用代码摆平一切的我几乎将这本教科书上的每种算法都实现了一遍 xff0c 这
  • uiviewController管理UITableView

    iOS开发 xff1a 如何作为子类来创建和管理UITableView 已有 184 次阅读 2011 10 24 21 38 标签 UIViewController UIView UITableView iOS 在iPhone应用开发中个
  • 【Iphone 游戏开发之一】创建视图并绘制简单图形

    Himi 原创 xff0c 转载请注明 xff01 原文地址 xff1a http blog csdn net xiaominghimi article details 6633172 这段时间N忙 xff0c 没办法 xff0c 创业公司
  • archlinux中virtualbox无法运行问题解决

    在archlinux中安装完成virtualbox后 xff0c 新建虚拟机无法启动 xff0c 而是出现下图的提示 xff1a 在fedora中直接用root权限运行 etc init d vboxdrv setup重新加载一下驱动就可以
  • 【Linux】Ubuntu 代理配置

    apt get 设置代理 proxy 方法 方法一 xff1a 这是一种临时的手段 xff0c 如果你仅仅是暂时需要通过http代理使用apt get xff0c 你可以使用这种方法 在使用 apt get 之前 xff0c 在终端中输入以
  • 百度之星之E:C++ 与Java

    E C 43 43 与Java 时间限制 2000ms 内存限制 65536kB 描述 在百度之星的贴吧里面 xff0c Java的爱好者和C 43 43 的爱好者总是能为这两种语言哪个更好争论上几个小时 Java的爱好者会说他们的程序更加
  • 并查集详解

    并查集是我暑假从高手那里学到的一招 xff0c 觉得真是太精妙的设计了 以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定 不分享出来真是对不起party了 xff08 party xff1a 我靠 xff0c 关我嘛事啊 xff1f
  • ubuntu18.04 开启ssh远程服务

    1 查看ssh服务是否已经开启 说明 xff1a 1 ssh agent 指的是ubuntu的ssh服务的客户端 xff0c 用于该ubuntu远程连接其它Linux主机 如果没有ssh agent的话 xff0c 该ubuntu主机也无法
  • Python必备知识之“if __name__ == ‘__main__‘:”

    在学习Python的过程中经常会看到 if name 61 61 39 main 39 这行代码 xff0c 那么这行代码的作用究竟是什么呢 xff1f if name 61 61 39 main 39 这行代码的主要作用是调试某个模块的正
  • Windows Server 网络连接由公用网络改为专用网络

    主题 xff1a Windows Server 网络连接由公用网络改为专用网络 关键字 xff1a 问题描述 xff1a Windows Server 2012 r2 启动后网络连接被识别为公用网络 xff0c 导致远程桌面等服务无法使用
  • 关于书籍(WPF及其它)

    原文 xff1a On Books WPF and Otherwise 有人让我去看coding horror comparison xff0c 这篇文章来至于Charles Petzold和Adam Nathan的书籍 xff0c 是关于
  • pip,pip安装源

    介绍 Python在使用pip安装第三方包 第三方功能库的时候 xff0c pip3 pip install xxx走的是国外源 xff0c 有点慢 我们可以采用国内源加快下载的速度 常用pip源 xff1b 豆瓣 xff1a https
  • 安装Anaconda时安装路径错误,提示Directory" xxx is not empty ,please choose a different location."问题的解决方案

    错误如下图所示 重新选择路径 xff0c 选择平时安装的盘 xff0c 然后手动输入Anaconda xff0c 即可正常安装 xff08 在这一步之前一定要删除卸载 先前安装产生的文件夹 xff09 进QQ群 xff08 77980901
  • vue项目引入PWA(vue-cli4)

    1 概念 PWA 全称为 Progressive Web App xff0c 中文译为渐进式 Web APP 其目的是通过各种 Web 技术实现与原生 App 相近的用户体验 也就是说 xff0c 只要你使用浏览器 xff0c 就可以实现免
  • Linux远程管理协议(RFB、RDP、Telnet和SSH)

    提到远程管理 xff0c 通常指的是远程管理服务器 xff0c 而非个人计算机 个人计算机可以随时拿来用 xff0c 服务器通常放置在机房中 xff0c 用户无法直接接触到服务器硬件 xff0c 只能采用远程管理的方式 远程管理 xff0c
  • Python第三方库(模块)下载和安装(使用pip命令)

    Python第三方库是由社区开发者编写的代码包 xff0c 用于增强Python的功能和提供各种特定的功能 通常 xff0c 这些库被打包为模块 xff0c 可以通过使用Python包管理工具pip来下载和安装 以下是使用pip下载和安装P

随机推荐

  • 计蒜客T1098 大整数加法

    求两个不超过 200 位的非负整数的和 输入格式 有两行 xff0c 每行是一个不超过 200 位的非负整数 xff0c 可能有多余的前导 0 输出格式 一行 xff0c 即相加后的结果 结果里不能有多余的前导 0 xff0c 即如果结果是
  • Linux系统学习(三)Linux系统管理

    用户和组管理 1 配置文件 passwd文件 位置 xff1a etc passwd xff1b 对任何用户可读 作用 xff1a 用于保存各用户的账户信息 shadow文件 位置 xff1a etc shadow xff1b 只对root
  • HTTP Host 头攻击 -- 学习笔记

    目录 1 HTTP Host头攻击 2 HTTP Host头的作用 3 什么是HTTP Host头攻击 4 如何发掘HTTP Host头攻击 修改Host值 添加重复的Host头 使用绝对路径的URL 添加缩进或换行 注入覆盖Host头的字
  • Linux 网络流量监控工具

    Linux 网络流量监控 Linux 网络流量监控是捕获和分析企业的 Linux 网络流量的过程 为什么要监控 Linux 网络流量 深入了解网络流量对于测量和管理带宽使用情况非常重要 分析 Linux 网络流量有助于识别带宽瓶颈 最高用量
  • 【解决“Authentication is required to create a color profile/managed device“】

    解决Ubantu系统 34 Authentication is required to create a color profile managed device 34 问题 xff1a 在Windows下使用远程桌面连接到工作站的Uban
  • 漫谈微信开放平台一(小程序服务器url设置)

    点击查看文档 这里的是需要用开放平台设置特约商户的域名 两种域名 xff0c 1 服务器域名 2 业务域名 两种域名设置方案相似 xff0c 我以服务器域名设置为例 需要注意 xff1a 1设置的域名需要在开放平台进行设置 xff08 注意
  • linux / ubuntu / 添加和查看环境变量的方法

    一 添加 1 export 指令 export PATH 61 PATH home xiaoming Doc 将 home xiaoming Doc 放到了名为 PATH 的环境变量的后面 或者 export PATH 61 home xi
  • 504 Gateway Time-out原因及解决方法

    1 今天在webpack通过proxy开发的时候 xff0c 接口时正常的 xff0c 但是上到测试机 xff0c 通过nginx转发的时候 xff0c 就会出现504 Gatway time out 思路 1 xff0c 初步判断时ngi
  • 操作系统学习之系统调用

    目录 一 操作系统学习之系统调用 1 什么是系统调用 2 系统调用有什么用 3 为什么需要系统调用 4 系统调用的具体流程 1 xff09 执行过程 2 如何实现用户态与内态之间的切换 3 系统调用常见名词 4 系统调用如何返回 传递返回值
  • Java语言程序设计与数据结构(基础篇)课后练习题 第六章(三)

    6 26 package demo import java util Scanner public class diliuzhang int count 61 0 int base 61 0 int num 61 2 while count
  • Java语言程序设计与数据结构(基础篇)课后练习题 第十三章(一)

    13 1 package dishisanzhang import java util Date public class GeometricObject private String color 61 34 white 34 privat
  • node.js 初识node.js,运行在服务端的 JavaScript(一)

    文章目录 1 浏览器原理1 1 浏览器的五部分组成1 2 渲染引擎 也叫做排版引擎或浏览器内核 1 3 浏览器访问服务器的过程1 4 HTTP请求报文和响应报文 2 web开发本质3 什么是node js xff1f 4 node js有哪
  • 解决VS code报错,过程试图写入的管道不存在(Bad owner or permissions on C:\\Users\\Administrator/.ssh/config)

    开始在使用VS code远程连接ssh时 xff0c 发现上面报错了 xff1a 并且发现在cmd中 xff0c 使用ssh root 64 xxx IP xxx也是报错Bad owner or permissions on 后来发现原来时
  • Edge跨域设置

    1 自定义目录 xff1a C Users DELL EdgeDevUserData 2 复制 xff1a disable web security user data dir 61 C Users DELL EdgeDevUserData
  • JavaScript 基础笔记总结(全部)

    文章目录 1 声明变量 var2 变量命名的规则3 数据类型以及注意事项4 代码注释5 其他类型转换为字符串6 数值类型转换7 布尔类型转换8 算数操作符9 一元运算符10 逻辑运算符11 比较运算符12 赋值运算符13 运算优先级14 流
  • linux系统 常用命令(全面总结)

    文章目录 1 Linux 之 文件目录 工作机制2 Linux命令 之 文件目录管理2 1 目录管理2 1 1 cd2 1 2 ls2 1 3 pwd2 1 4 mkdir2 1 5 rmdir2 1 6 tree 需要安装 2 2 文件管
  • ElasticSearch 8 学习笔记总结(五)

    文章目录 一 ElasticSearch 8 版本二 ES8 集群 环境安装1 生成安全证书2 生成http证书3 配置第一个节点4 配置其他节点 三 ES集群 关联问题解决四 Kibana 安装和使用五 kibana 基础操作1 索引操作
  • ElasticSearch 8 学习笔记总结(六)

    文章目录 一 ES8 的Java API 环境准备二 ES8 的Java API 索引操作三 ES8 的Java API 文档操作1 文档的 插入 批量插入 删除等操作2 文档的查询 四 异步客户端操作 一 ES8 的Java API 环境
  • ElasticSearch 8 学习笔记总结(七)

    感觉这些东西没必要认真学 xff0c 了解一下 xff0c 工作用到再学 文章目录 一 ES8 EQL 介绍二 ES8 EQL基本操作 与 安全检测三 ES SQL操作四 ES SQL与DSL的关系五 ES 常用的SQL操作六 ES dat
  • 6大热门开源自动化测试框架【建议收藏】

    如果您正在考虑构建自己的测试自动化框架 xff0c 请在自荐之前 xff0c 参考一下以下的六大热门自动化测试框架 在大多数情况下 xff0c 您将会很好地考虑一个或多个可用的开放源代码选项 这是因为一般来说 xff0c 框架是可以在团队中