常见的主流自动化测试框架,这5种能帮到你很多

article/2025/10/18 17:46:25

今天我们要向大家介绍的是常见5种主流自动化测试框架,包括优缺点等内容,供大家参考学习。

1.ATF

自动化测试框架AutoTestFramework是B/S架构框架,可实现Selenium等多种自动化测试全流程、团队化管理的高级框架平台,通过集成自动化测试工具可实现PC端界面自动化、接口自动化、APP功能自动化测试和深度兼容性测试,测试完成后系统自动生成测试报告。目前该框架可以集成的自动化测试工具Selenium、AutoRunner、MobileRunner。

优点:

  • 测试项目、测试脚本、测试需求、测试用例、测试缺陷、测试报告、测试人员等管理;框架可以无缝集成界面自动化工具Selenium、AR、QTP;集成接口测试工具postman;集成APP自动化工具MR;建立需求分析模型,基于活动图、数据和业务规则自动生成测试用例;多个项目可以选择预约执行或者定时执行,一个项目可以选择立即执行;界面自动化支持截图和视频;接口支持日志;通过测试用例覆盖业务规则的测试,减少脚本设计的复杂度和脚本设计的简单性;同时便于测试用例数据的维护和更新;可生成自动生成Selenium、AutoRunner、MobileRunner等工具测试执行的测试报告,测试数据准确客观;产品自主研发,可集成ALM生命周期管理工具、项目管理、测试管理、缺陷管理、持续集成、流程平台以及其他数据库;

缺点:

  • 不是免费工具,商业测试工具,产品性价比较高;

2.JUnit

Kent Beck和Erich
Gamma开发的JUnit,它是xUnit的一个实例。其背后的主要目的是使Java开发人员能够编写脚本并执行可重复的测试用例。它通常用于测试小块代码。您还可以通过将JUnit与Selenium
WebDriver集成用于Java测试自动化来执行网站的自动化测试。无论何时添加任何新代码,您都需要重新执行整个测试用例并确保没有破损。

优点:

  • 在测试驱动的环境中工作的开发人员发现它非常有用,因为他们被迫阅读代码并查找是否存在异常;早期检测到错误,从而产生更可靠的代码;开发更具可读性和无错误的代码可以起到增强信心的作用。

缺点:

  • 该框架无法执行依赖性测试。这就是我们需要TestNG的地方。

3.JBehave

它是一种以透明的方式向业务用户描述验收测试的测试类型。JBehave是另一个用于BDD测试的Java测试框架,主要用于Selenium
WebDriver for
Java。引入JBehave背后的主要目标是让新手能够轻松理解并熟悉BDD。它是一种设计理念,使应用程序的测试阶段更多地基于其行为。

优点:

  • 与所有其他BDD测试框架一样,JBehave在许多方面也具有优势;通过在具有类似规范的不同项目上工作的不同开发团队之间实现更好的协调,实现行为驱动开发的重要目的;由于规范具有类似的格式,项目经理和利益相关者可以更清楚地了解开发团队和QA团队的输出。

缺点:

  • BDD测试工具的成功主要取决于项目中涉及的不同成员之间的沟通,利益相关者,开发人员,测试人员以及组织的管理。缺乏沟通可能会导致无法回答的问题和疑问,这可能导致错误的申请或应用程序无法满足业务要求,从而导致所有各方互相指责。

4.TestNG

CedricBeust创建了TestNG,这是一个基于Java的开源自动化测试框架,受JUnit的启发。但是,它更强大。NG意味着TestNG中的下一代。该框架旨在在集成期间以更好的方式执行。该框架可帮助开发人员进行排序,分组和参数化等功能,从而使新测试用例更加灵活,并消除了之前使用的框架的缺点。

缺点:

  • 该框架使您能够在多个代码片段上运行并行测试;在测试用例执行期间,您可以生成HTML报告;可以根据优先级对测试用例进行分组和排列;只需要让框架运行数据库测试或前端测试或任何你想要的东西,执行测试就会简单得多;您可以参数化数据并使用注释来轻松设置优先级。

缺点:

  • 如果您的项目不需要测试用例优先级,则可能不想使用TestNG;此外,设置TestNG稍稍有些复杂。

5.Serenity

Serenity是一个开源库,用于行为驱动的测试。该框架可帮助您编写验收标准,这些标准结构良好且维护更多。它扩展了JUnit和WebDriver的功能。它被称为修昔底德。名称改变背后的原因只不过是发音的难度。不过,旧名称可以在引用时使用。

最后:下方这份完整的【软件测试】学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述


http://chatgpt.dhexx.cn/article/Wxqa7byq.shtml

相关文章

【自动化测试】自动化测试框架与工具

文章目录 1)什么是自动化测试框架?1.1 什么是框架?1.2 什么是自动化测试框架?1.2.1 优点:1.2.2 框架的基本组件1、需要配置文件管理:2、业务逻辑代码和测试脚本分离3、报告和日志文件输出4、自定义的库的封…

从零搭建完整python自动化测试框架(UI自动化和接口自动化 )——持续更新

本自动化测试框架采用python unittest 的基础来搭建,采用PO模式、数据驱动的思想,通过selenium来实现WEB UI自动化,通过request来实现接口自动化。移动终端的自动化也可在该框架基础上去构建补充。 目录 总体框架PO模式、DDT数据驱动、关键字…

Linux必备的小技巧——查看历史操作和屏显信息

通常在linux查看历史操作信息,都是查看日志文件,Linux的日志文件一般都保存在/var/log文件夹下: 用如下命令即可查看: cat filename 查看日志,会打开整个文件,直接跑到最后面tac filena…

linux下安装CUDA和cudnn

linux下安装CUDA和cudnn 2、安装CUDA10.1 在CUDA官网选择系统对应的版本下载CUDA 我的系统是Ubuntu18.04 64位,我选择下载最新版本的CUDA10.1: 输入以下命令安装CUDA sudo sh cuda_10.1.105_418.39_linux.run 显卡驱动已在上面安装了,这里一…

Linux和其他操作系统的区别

前言 这是我听老师讲课做的笔记,考试要看的。 这是视频地址 作者:RodmaChen 关注我的csdn博客,更多Linux笔记知识还在更新 为什么用Liunx系统 Linux和windows的区别Linux和Unix操作系统的区别 Linux和windows的区别 1.免费与收费 Windows 平台: Window…

linux下如何查看驱动?(CH341)

文章目录 背景命令 背景 Linux下有时候我们在接上串口后,在/dev/下找不到ttyUSB*,这时我们需要查看下本机是否安装了相应的驱动。 命令 lsmod | grep ch341 如上图,便是表示目前pc中存在ch341驱动,无需重新安装。

linux怎么查询数据库端口,linux下怎么查看数据库端口

满意答案 ai_yuming 2017.08.26 采纳率:50% 等级:8 已帮助:759人 如何查看mysql 默认端口号和修改端口号 1. 登录mysql [root@test /]# mysql -u root -p Enter password: 2. 使用命令show global variables like port;查看端口号 mysql> show global variables like …

Linux的历史背景和基本指令

众所周知,Linux和大家所熟悉的Windows一样,也是一款操作系统,不同的更多是在于Windows是闭源的,而Linux是开源的。现代生活中的比如飞机的控制系统、银行的系统、手机的系统等等,都和Linux操作系统相关,所以…

Linux安装围棋AI(q5go和katago)

最近一个多月开始学习围棋,因为平时常用的系统是Linux,所以想要在Linux上安装一个围棋AI,可以借助AI分析棋局。经过一番查找,决定使用q5go和katago,安装还是挺复杂的,特地记录(/摸鱼&#xff09…

Linux 常用命令 查看 CPU 信息

强力推荐-不要错过,万一能帮助到自己呢? 推荐一个网站,关于人工智能教程,教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里…

Linux命令查看Linux服务器内存、CPU、显卡、硬盘使用情况

查看内存使用情况 使用命令: free -m 大致结果类似下图: 内存占用情况 参数解释: Mem行(单位均为M): total:内存总数used:已使用内存数free:空闲内存数shared&…

Ai-WB2系列模组linux开发环境搭建

文章目录 一、Ubuntu安装1.1 安装VMware Workstation Pro1.2 安装Ubuntu 二、编译三、烧录固件到设备3.1 方式一:用命令行烧录3.2 方式二:用可视化软件烧录(windows) 三、自定义工程如何修改Makefile四、开发资料 一、Ubuntu安装 …

用js动态显示当前时间

用setTimeout动态显示当前时间&#xff1a; <div class"showTime"></div> <script>var t null;tsetTimeout(time,1000);//开始运行function time(){clearTimeout(t);//清除定时器dt new Date();var y dt.getFullYear();var mt dt.getMonth()1…

js 获取当前gmt时间_javascript怎么获取当前时间?

javascript怎么获取当前时间&#xff1f;下面本篇文章就来给大家介绍一下使用javascript获取当前时间的方法&#xff0c;希望对大家有所帮助。 在JavaScript中可以使用Date对象中的Date()方法来获取当前时间。Date 对象用于处理日期和时间&#xff0c;Date()方法可返回当天的日…

【JavaScript】动态显示当前时间

可以实现动态显示当前时间&#xff0c;年月日时分秒星期几等&#xff0c;用12小时制表示&#xff0c;并能根据时间显示am&#xff08;上午&#xff09;&#xff0c;pm&#xff08;下午&#xff09;。 文章目录 一、基础知识二、动态显示系统当前时间1.代码2.展现效果 一、基础知…

用js显示当前时间

目录 以下是我全部代码 其中&#xff0c;关键代码是js 效果如图所示 关键代码解释如下 setInterval: getElementById: innerHTML: 在初步学习js时&#xff0c;可能会有一些朋友能用上js来显示时间&#xff0c;因此我在此提供一种方法供大家参考。 以下是我全部代码 <…

php js动态显示系统时间,基于javascript实现动态显示当前系统时间

本文实例讲解了javascript实现动态显示当前系统时间的详细代码&#xff0c;具体内容如下 (1)时间日期信息&#xff0c;应该在一个 中来显示 (2)定时器&#xff1a;每隔一秒再次访问系统时间&#xff0c;window对象的setTimeout() (3)时钟显示的时机(事件)&#xff1a;当网页加载…

原生JavaScript实现显示当前系统时间

1.一个html页面实现&#xff0c;js写在html里面 clock.html <!DOCTYPE html> <html> <head><meta charset"UTF‐8"><title>clock</title><style type"text/css">#clock {color: green;font‐size: 30px;}</…

Javascript获得系统当前时间

** 获取系统当前时间 ** 一、步骤与注意事项 首先使用new Date创建时间对象&#xff1b;&#xff08;定义一个Date对象的time&#xff09;分别从time中获取当前年、月、日、分、秒、星期几特别注意&#xff1a;月是从0开始的&#xff08;即1月是0&#xff09; 二、代码实现…

JavaScript动态显示当前时间

前端写项目时, 有时会需要获取当前时间, 虽然使用度不高, 难免有需要的时候. 下面整理获取当前时间代码思路 使用 new Date() 获取 当前时间的时间戳 getFullYear(): 时间戳转换的年份getMonth() 1: 月份getDate(): 日期getHours()getMinutes()getSeconds() 根据需要获取…