最常用的自动化测试框架汇总

在开始学习python自动化测试之前,先了解目前市场上的自动化测试框架有哪些?

随着技术的不断迭代更新,优胜劣汰也同样发展下来。从一开始工具型自动化,到现在的框架型;从一开始的能用,到现在的不仅能用,还需要支持可拓展,支持多语言等等…以下框架可以提供学习,排名不分先后。

SeleniumGithub Start : 20.8K

凡是学过或者正在学,亦或者准备学的同学,都应该知道selenium这个测试框架了。这是目前市场应用最广,发展最快的测试框架。

Selenium的工作原理是通过使用特定于每种语言的驱动程序支持各种编程语言。

Selenium支持的语言包括C#,Java,Perl,PHP,Python和Ruby。目前,Selenium Web驱动程序最受Python和C#欢迎。Selenium测试脚本可以使用任何支持的编程语言进行编码,并且可以直接在大多数现代Web浏览器中运行。Selenium支持的浏览器包括Internet Explorer,Mozilla Firefox,Google Chrome和Safari。

Selenium是一套web的测试框架,所以无法在客户端以及桌面端的应用中使用。

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】

软件测试视频教程观看处:

【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。

 

AppiumGithub Start : 13.6K

Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,移动web 应用和混合应用。

“移动原生应用”是指那些用 iOS 或者 Android SDK 写的应用。

“移动 web 应用”是指使用移动浏览器访问的应用(Appium 支持 iOS 上的 Safari 和 Android 上的 Chrome)。

“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。

重要的是,Appium 是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了 iOS 和 Android 测试套件间代码的复用性。

CypressGithub Start : 30.7K


Cypress是什么,可能很多国内的测试同学都很少有听闻,但是在github上面高达30K的start,说明市场对这个框架的认可程度了。这是一款web应用的E2E测试框架,通过js语言编写的。

这个框架与selenium最大的区别就是,不需要下载驱动。Cypress集成了浏览器驱动,在使用他的时候,只需要下载安装即可。正如官网所说的,开箱即用。

这么强大的框架,是不是什么程度都可以用呢?答案,不是。

首先,Cypress只适用于web的应用

第二,Cypress只能使用js进行代码的编写,所以这需要有一定的js

语言基础

第三,Cypress不支持多个浏览器tab

第四,Cypress只支持自身的浏览器

JmeterGithub Start : 5.2K

做过性能测试的同学应该都知道这个性能测试工具了。Jmeter,毋庸置疑是目前市场使用率最高的性能测试工具了,与loadrunner很大的不同就是免费。

只要是免费的工具,一定会有很大的市场。

Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。

同时,JMeter可以帮助你对你的应用程序进行回归测试。通过你创建的测试脚本和assertions来验证你的程序返回了所期待的值。为了更高的适应性,JMeter允许你使用正则表达式来创建这些assertions.

PuppteerGithub Start : 70.6K

Puppeteer可能很少人听过,但是这个工具,确实挺好用的。它是Google开源的一个测试录制插件。

Puppeteer对于模拟类似人类的浏览器交互行为非常出色。像Selenium Webdriver一样,它可以模拟广泛的浏览器用户交互行为。Puppeteer还具有Selenium Webdriver所缺乏的一系列功能。它可以捕获屏幕截图并生成特定屏幕的PDF。如果你想用它来进行可视化测试,这是一个很好的选择。它的高速度也是很多开发者选择测试工具的一大考量。Puppeteer的另一个主要卖点是,它与Chrome及其调试和开发者工具高度集成。这一点应该不奇怪,因为和Chrome一样,Puppeteer也是由Google开发并支持的。因此,如果你只在Chrome中开发和测试你的应用程序,Puppeteer是一个很好的选择。然而,如果你使用Firefox、Edge或Safari进行开发或测试,Puppeteer是没办法的,你应该选择Selenium Webdriver。

playwrightGithub Start : 70.6K

Playwright是微软提供的一个自动化工具,与puppeteer非常相似,也算是puppeteer的衍生品,弥补了puppeteer支持浏览器这一块的不足。

Playwright是一个强大的Python库,仅用一个API即可自动执行Chromium、Firefox、WebKit等主流浏览器自动化操作,并同时支持以无头模式、有头模式运行。

Playwright提供的自动化技术是绿色的、功能强大、可靠且快速,支持Linux、Mac以及Windows操作系统。

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

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go构建项目与打包

环境搭建 使用的组件及版本 operator-sdk v1.22.0go 1.20.0 linux/amd64git 1.8.3.1k8s 1.18.5docker 20.10.5 前期配置 安装Git yum install git安装docker yum install docker-ce安装go 官网下载 tar -C /usr/local/ -xvf go1.20.linux-amd64.tar.gz 环境配置 // 将go配置…

手机卡丢了不要急,全新补卡攻略赶紧收藏!

最近收到一些小伙伴的留言,手机卡办了好几张,所以就出现了手机卡丢失的现象。手机卡丢失补办更是让一些小伙伴们摸不着头脑。怎么补?如何补?需要哪些资料等等一系列的问题,让许多小伙伴都无从下手。今天小编就给大家整…

内网穿透的应用-使用Docker本地部署可编辑导航页结合内网穿透实现远程访问

文章目录 1. 使用Docker搜索镜像2. 下载镜像3. 查看镜像4. 启动容器5. 浏览器访问6. 远程访问6.1 内网穿透工具安装6.2 创建远程连接公网地址6.3 使用固定二级子域名地址远程访问 今天和大家分享如何使用Docker本地部署一个开源的简约风格网址导航页,支持五种搜索引…

Selenuim实现自动登录社交媒体账号和自动发布文章

在当今社交媒体盛行的时代,程序员们经常需要在不同的平台上自动执行一些任务,比如登录社交媒体账号并发布文章。本文将介绍如何利用Selenium浏览器自动化框架实现这一任务,同时结合万媒易发多平台内容同步助手,提高文章发布的效率…

矢量,矢量化的梯度下降以及多元线性回归

一、矢量 定义:按照特定顺序排列的元素集合。可以被视为一维数组。 在机器学习中的作用: 特征表示:在机器学习任务中,输入数据通常以矢量的形式表示。例如,图像可以表示为像素值的矢量,文本可以表示为词…

TinyTu-跨平台图片压缩软件

我平时压缩图片通常会使用类似tinify这样的在线图片压缩网站,这些网站有很多,但使用起来总是感觉不太舒爽,似乎差了点什么,仔细想想它们或多或少有这些缺点: 有的网站需要收费或者半收费。支持图片格式不全&#xff0…

BERT(从理论到实践): Bidirectional Encoder Representations from Transformers【3】

这是本系列文章中的第3弹,请确保你已经读过并了解之前文章所讲的内容,因为对于已经解释过的概念或API,本文不会再赘述。 本文要利用BERT实现一个“垃圾邮件分类”的任务,这也是NLP中一个很常见的任务:Text Classification。我们的实验环境仍然是Python3+Tensorflow/Keras…

对低效的会议说“不!”

根据微软对全球 31, 000 名员工开展的一项调查,低效的会议是影响工作效率的第一大干扰因素,其次是召开过多的会议。 大大小小的同步会、讨论会、审查会、复盘会不仅将工作时间拆解得支离破碎,还会让成员因「会议恢复综合症」而无法立即从无效…

DevOps(9)

目录 45.如何在Linux中将一个文件附加到另一个文件? 46.解释如何使用终端找到文件? 47.解释如何使用终端创建文件夹? 48.解释如何使用终端查看文本文件? 49.解释如何在Ubuntu LAMP堆栈上启用curl? 50.解释如何在…

排除启动类故障----三大实验

目录 一、模拟破坏mbr和分区表然后修复 二、修复grub引导故障 三、遗忘root用户密码 一、模拟破坏mbr和分区表然后修复 1、mbr处于第一块磁盘的第一个物理扇区,总共512个字节,前446个字节是grub程序,后面64个字节是分区表 2、故障原因&a…

# [NOIP2016 提高组] 玩具谜题#洛谷

题目背景 NOIP2016 提高组 D1T1 题目描述 小南有一套可爱的玩具小人,它们各有不同的职业。 有一天,这些玩具小人把小南的眼镜藏了起来。小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外。如下图: 这…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)创建并初始化TcpServer实例

对于一个TcpServer来说,它的灵魂是什么?就是需要提供一个事件循环EventLop(EventLoop),不停地去检测有没有客户端的连接到达,有没有客户端给服务器发送数据,描述的这些动作,反应堆模型能够胜任。当服务器和…