Python自动化测试:选择最佳的自动化测试框架

在开始学习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的测试框架,所以无法在客户端以及桌面端的应用中使用。

如果对python自动化测试、web自动化、接口自动化、移动端自动化、面试经验交流等等感兴趣的测试人

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在python自动化测试、web自动化、接口自动化、移动端自动化、性能、安全、测试开发、面试经验交流等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:1150305204【暗号:csdn999】
AppiumGithub Start : 13.6K

图片

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

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

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

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

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

如果对python自动化测试、web自动化、接口自动化、移动端自动化、面试经验交流等等感兴趣的测试人,可以 点这自行获取…

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.mzph.cn/news/583865.shtml

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

相关文章

鸿蒙问题之本地模拟器无法识别

今天按例打开本地模拟器,发现DevEco Studio不能检测到我的本地模拟器了。 重启了DevEco Studio和模拟器多次都无果。果断删除模拟器 然后创建一个新的,就可以成功检测到了。这应该是idea的一个bug

关于python解析mf4中二维信号数据的注意事项

python解析mf4中的信号数据一般用np.ndarray存储,但是mf4中的一个信号有时不一定是一维数据,有时会是一个二维的,没错,就是一个信号数据就是二维的,这时候,np数组的每个元素也是一个数组,这个时…

整数除法相关用法:floor、ceil、round

整数除法——舍小数&#xff0c;取整数 1.floor()头文件<math.h> 功能&#xff1a;把一个小数向下取整&#xff0c;即就是如果数是2.2 &#xff0c;那向下取整的结果就为2.000000 原型&#xff1a;double floor(doube x); x : 是需要计算的数 返回值&#xff1a; 成…

【揭秘】如何制作推拉门电子画册,轻松成为行业大咖!

​在当今数字化时代&#xff0c;电子画册已成为企业展示产品、服务的重要手段。与传统印刷画册相比&#xff0c;电子画册具有诸多优势&#xff0c;如易于传播、易于更新、环保低碳等。更重要的是&#xff0c;通过电子画册&#xff0c;企业可以更好地与目标受众互动&#xff0c;…

K8s - Helm、HPA、rancher

目录 1、什么是 Helm 2、Helm 部署 3、Helm 自定义模板 4、Helm 仓库 5、HPA 6、部署 metrics-server 7、Rancher 管理 Kubernetes 集群 8、Rancher 安装及配置 1、什么是 Helm 在没使用 helm 之前&#xff0c;向 kubernetes 部署应用&#xff0c;我们要依次部署 depl…

天津医科大学临床医学院专升本药学专业有机化学考试大纲

天津医科大学临床医学院高职升本科专业课考试大纲药学专业《有机化学》科目考试大纲 一、考试基本要求 本考试大纲主要要求考生对《有机化学》基本概念有较深入的了解&#xff0c;能够系统地掌握各类化合物的命名、结构特点及立体异构、主要性质、反应、来源和合成制备方法等…

SQL面试题挑战11:访问会话切割

目录 问题&#xff1a;SQL解答&#xff1a; 问题&#xff1a; 如下为某电商公司用户访问网站的数据&#xff0c;包括用户id和访问时间两个字段。现有如下规则&#xff1a;如果某个用户的连续的访问记录时间间隔小于60秒&#xff0c;则属于同一个会话&#xff0c;现在需要计算每…

相对于一般的统计学,计量经济学的特色是什么?谈Stata与计量经济学

Stata作为一种数据分析软件&#xff0c;高度适用于依托计量经济学的研究领域&#xff0c;如宏观经济学、财政学等&#xff0c;当然在医学等学科应用也较为广泛&#xff0c;在处理面板数据方面也深具特色。计量经济学是指运用概率统计方法对经济变量之间的因果关系进行定量分析的…

idea的pom.xml文件灰色删除线解决办法

以上是点击了移除module后就变成这样 如果再次对着已移除的module右键会发现有个delete&#xff0c;点击这个是真删了&#xff0c;要谨慎备份哦 解决方案&#xff1a;恢复误操作remove module的解决方法 idea最右边&#xff0c;有个Maven控件&#xff0c;找到要恢复的module&a…

vscode连接linux服务器

目录 下载vscode&#xff0c;这是微软开源软件&#xff0c;打开后到下载扩展页面 在下载扩展页面下载中文和ssh远程连接扩展 安装后会在左边新生成一个图标点击齿轮 选择第一个 配置连接信息 远程隧道右边刷新&#xff0c;等刷出来hostname的主机后 连接ip出来后&#x…

mybatisX自动生成sql语句,尝试测试方法报错

今天我使用mybatisx自定义mapper方法生成sql语句后&#xff0c;在测试时报错 错误是MyBatis 无法找到映射的语句&#xff08;Statement&#xff09;引起的 我是这样操作的&#xff0c;在mapper接口自定义了一个方法 然后alt加enter&#xff0c;自动生成sql 结果 mapper.xml文件…

骨传导耳机的原理是什么?一文读懂骨传导耳机优缺点都有哪些!

一、骨传导耳机传声原理是什么 骨传导耳机以人体骨骼为传声介质&#xff0c;可以将声音转化为不同频率的震动&#xff0c;在不经过外耳道和鼓膜的情况下&#xff0c;通过震动使声音经过内耳道&#xff0c;直接传入大脑听觉神经&#xff0c;与传统耳机相比&#xff0c;可以节省许…

Gooxi成功入选全国首批人工智能企业

日前&#xff0c;Gooxi成功入选由深圳市人工智能产业协会评定的全国首批36家人工智能企业之一&#xff0c;这是继Gooxi成功与广东未来研究院合作AI联合创新中心之后在AI行业持续深耕的又一殊荣&#xff0c;彰显出Gooxi在AI领域的卓越实力。 据悉&#xff0c;全国首批人工智能企…

第 1 场 算法季度赛 蓝桥搜狐畅游(1~5 , 7)

1、水题 2、树上dp 3、模拟 4、概率 5、拆位 6、&#xff08;是没学过的东西了...&#xff09; 7、组合数学 1. 新年快乐【算法赛】 直接模拟 #include <iostream> using namespace std; int main() {cout <<"2024 AK";return 0; } 2. 蓝桥圣诞树…

【每日一题】收集巧克力

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;枚举操作数 写在最后 Tag 【枚举】【数组】【2023-12-28】 题目来源 2735. 收集巧克力 题目解读 有长度为 n, 下标从 0 开始的整数数组 nums, 表示收集不同类型的巧克力的成本. nums[i] 表示收集类型 i 巧克力的成本…

前端常见七大设计模式

目录 前言 一、常见七大设计者模式 1.工厂模式 2.单例模式 3.适配器模式 4.装饰模式 5.代理模式 6.发布-订阅模式 7.外观模式 二、总结 前言 在前端开发中&#xff0c;设计模式总的来说是一个抽象的概念&#xff0c;前人通过无数次的实践总结出的一套写代码的方式&a…

创建第一个electron项目

安装 创建package.json npm init创建electron npm install --save-dev electron创建程序主入口文件 main.js,electron分为主进程和渲染进程,main,js也可以理解为electron项目的主进程,在主进程中是node环境不可以写操作dom方法,在渲染进程中是浏览器环境 可以写操作dom的一些…

12.28_黑马数据结构与算法笔记Java

目录 291 最长公共子序列 动态规划 分析 292 最长公共子序列 动态规划 实现 293 Leetcode 583 两个字符串删除 294 Leetcode 300 最长递增子序列 分析 295 Leetcode 300 最长递增子序列 实现 296 Catalan数 分析 297 Catalan数 实现 298 Catalan数 应用 出栈总数 299 C…

【C++】vector 基本使用(详解)

目录 一&#xff0c;vector 的介绍 二&#xff0c;vector 的定义 1&#xff0c;vector() 2&#xff0c;vector&#xff08;size_type n, const value_type& val value_type()&#xff09; 3&#xff0c;vector (const vector& x) 4&#xff0c;vector (InputIte…

PAT乙级 1025 反转链表

给定一个常数 K 以及一个单链表 L&#xff0c;请编写程序将 L 中每 K 个结点反转。例如&#xff1a;给定 L 为 1→2→3→4→5→6&#xff0c;K 为 3&#xff0c;则输出应该为 3→2→1→6→5→4&#xff1b;如果 K 为 4&#xff0c;则输出应该为 4→3→2→1→5→6&#xff0c;即…