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://xiahunao.cn/news/2659519.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

element el-table实现可进行横向拖拽滚动

【问题】表格横向太长,表格横向滚动条位于最底部,需将页面滚动至最底部才可左右拖动表格,用户体验感不好 【需求】基于elment的el-table组件生成的表格,使其可以横向拖拽滚动 【实现】灵感来源于这篇文章【Vue】表格可拖拽滚动&am…

每周一算法:区间覆盖

问题描述 给定 N N N个闭区间 [ a i , b i ] [a_i,b_i] [ai​,bi​],以及一个线段区间 [ s , t ] [s,t] [s,t],请你选择尽量少的区间,将指定线段区间完全覆盖。 输出最少区间数,如果无法完全覆盖则输出 − 1 -1 −1。 输入格式…

androj环境搭建_AS安装及运行源码

1、 jdk安装 安卓项目也是java开发的,运行在虚拟机上,安装jdk及运行的时候,就会自动生成虚拟机, jdk前面已经讲过,这里不在讲解 2、下载安装androj studio https://developer.android.google.cn/studio?hlzh-cn 下…

mysql原理---InnoDB统计数据是如何收集的

以下聚焦于 InnoDB 存储引擎的统计数据收集策略。 1.两种不同的统计数据存储方式 InnoDB 提供了两种存储统计数据的方式: (1). 永久性的统计数据 这种统计数据存储在磁盘上,也就是服务器重启之后这些统计数据还在。 (2). 非永久性的统计数据 这种统计数…

Java生态系统的进化:从JDK 1.0到今天

目录 前言 JDK 1.0:开启Java时代 JDK 1.1:Swing和内部类 JDK 1.2:Collections框架和JIT编译器 JDK 1.5:引入泛型和枚举 JDK 1.8:Lambda表达式和流 JDK 11以后:模块化和新特性 未来展望 总结 作者简…

Smartbi获工信部旗下赛迪网“2023行业信息技术应用创新产品”奖

近日,由工信部旗下的赛迪网、《数字经济》杂志共同主办的2023行业信息技术应用创新大会上,“信息技术应用创新成果名单”重磅揭晓,思迈特软件凭借“Smartbi 自然语言分析引擎”斩获“2023行业信息技术应用创新产品”大奖。 据了解&#xff0c…

JavaWeb——监听器Listener 过滤器Filter——韩顺平学习笔记

文章目录 JavaWeb 三大组件之监听器 ListenerListenerJavaWeb 的监听器ServletContextListener 监听器ServletContextAttributeListener 监听器其它监听器-使用较少HttpSessionListener 监听器HttpSessionAttributeListener 监听器ServletRequestListener 监听器ServletRequest…

YOLOv5算法进阶改进(8)— 引入GSConv + Slim Neck相结合的方式降低模型复杂性

前言:Hello大家好,我是小哥谈。在文章中,作者提出了一种新方法 GSConv 来减轻模型的复杂度并保持准确性。GSConv可以更好地平衡模型的准确性和速度。并且,提供了一种设计范式Slim Neck,以实现检测器更高的计算成本效益。实验过程中,与原始网络相比,改进方法获得了最优秀…

软件测试/测试开发丨Selenium的常用元素定位方法

Selenium是一个流行的开源框架,目前在 Web 自动化方面运用最为广泛的一个开源、无浏览器要求、可支持多语言、设计测试用例非常灵活的自动化测试框架。支持多种编程语言,并且能够模拟用户操作,例如点击、输入、提交等等。 在Selenium中&…

《深入理解JAVA虚拟机笔记》Java 运行时内存区域

程序计数器(线程私有) 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在 Java 虚拟机的概念模型里, 字节码解释器工作时就是通过改变这个计…

【Linux--多线程同步与互斥】

目录 一、线程互斥1.1相关概念介绍1.2互斥量mutex1.3互斥量接口1.3.1初始化互斥量1.3.2销毁互斥量1.3.3互斥量加锁1.3.4互斥量解锁1.3.5使用互斥量解决上面分苹果问题 1.4互斥原理 二、可重入与线程安全2.1相关概念2.2常见线程不安全的情况2.3常见不可重入的情况2.4 可重入与线…

深度解析 | 什么是超融合数据中心网络?

数据中心网络连接数据中心内部通用计算、存储和高性能计算资源,服务器间的所有数据交互都要经由网络转发。当前,IT架构、计算和存储技术都在发生重大变革,驱动数据中心网络从原来的多张网络独立部署向全以太化演进。而传统的以太网无法满足存…

Pycharm引用其他文件夹的py

Pycharm引用其他文件夹的py 方式1:包名设置为Sources ROOT 起包名的时候,需要在该文件夹上:右键 --> Mark Directory as --> Sources ROOT 标记目录为源码目录,就可以了。 再引用就可以了 import common from aoeweb impo…

【C++】开源:cpp-httplib HTTP协议库配置与使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍cpp-httplib HTTP协议库配置与使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&a…

美国Top科技公司年薪大曝光,OpenAI 600万高居榜首!

全美顶尖AI公司年薪大曝光! OpenAI 600万高居榜首,微软、英伟达只有OpenAI 的一半。 近日,美国一家帮助博士生协商薪资的公司Rora发布了一份薪资报告,公布了这些顶尖AI公司给研究人员开出的平均薪水。 以下是部分顶级AI公司的名…

《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识(11)

接前一篇文章:《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识(10) 1.3 PCI总线的存储器读写总线事务 1.3.2 Posted和Non-Posted传送方式 PCI总线规定了两类数据传送方式,分别是Posted和Non-Posted数据传送…

数据仓库 基本信息

数据仓库基本理论 数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support&#xff09…

【轻松入门】OpenCV4.8 + QT5.x开发环境搭建

引言 大家好,今天给大家分享一下最新版本OpenCV4.8 QT5 如何一起配置,完成环境搭建的。 下载OpenCV4.8并解压缩 软件版本支持 CMake3.13 或者以上版本 https://cmake.org/ VS2017专业版或者以上版本 QT5.15.2 OpenCV4.8源码包 https://github.com/op…

EDKII:第一个Helloworld

目录 0 说明 1 步骤 1.1 简介 1.2 创建新文件 1.3 创建printhelloworld.c、printhelloworld.inf: 1.4 修改MdeModulePkg\MdeModulePkg.dsc 1.5 修改EmulatorPkg\EmulatorPkg.dsc 1.6 运行 0 说明 上篇文章记录了如何安装UEFI环境,在这里将会写下…

启明智显开源项目分享|基于Model 3c芯片的86中控面板ZX3D95CM20S-V11项目软硬件全开源

前言: 本文为4寸 480*480 RGB接口IPS全面触屏的86中控面板(RT-ThreadLVGL)软硬件开源干货内容,该项目是综合性非常强的RTOS系列项目!项目主控芯片使用 Model 3c,整体实现了简化版本的86中控面板的功能需求…