百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

pytest+Playwright自动化框架落地实战大纲

yuyutoo 2025-01-31 16:04 4 浏览 0 评论

前言

很久没有更新博客,是因为在梳理制作Playwright测试框架实战相关的课程内容。现在课程已经完结,开个帖子介绍下这门课程(硬广, 哈哈)

课程放在CSDN学习频道, 欢迎关注~

为什么是Playwright?

Playwright,相比一些老牌的工具,它的诞生时间并不长,2020年才发布了第一个正式版本,当然在这之前已经有beta版推出。正因为工具比较新,所以也就有了后发优势。 而且Playwright出自微软,背靠大厂,各方面支持力度也很强,所以目前在web自动化测试工具中,上升的势头非常强劲,普遍被认为是能代替传统的web自动化霸主Selenium的新生代自动化测试工具。

当然,这个工具能受到欢迎,除了因为它是大厂出品,自然也离不开其自身的一些显著的明显优点。

  • Playwright的开发团队,是来自另一款工具puppeteer(Google基于chrome推出的web自动化工具)的核心成员。可以说Playwright是建立在puppeteer基础上的。而puppeteer,本身一度被认为是后selenium时代的web自动化三驾马车之一,所以Playwright可以说是站在巨人肩膀上,它不仅兼容了puppeteer的很多优点,还优化了puppeteer本身的一些不足,更加完善。
  • puppeteer有一个很大的约束就是它只支持chrome浏览器,而playwright则内建了对多种主流浏览器的支持,除了chrome、edge,也支持firefox、safari,能满足web自动化的主流浏览器覆盖
  • playwright支持不同的编程语言实现,除了像puppeteer原先支持的node.js之外,也可以支持java、python, 当然还有微软自己的.net。
  • Palywright还支持更多的一些扩充高级功能。

官网对playwright优势的介绍

  • 多浏览器、跨平台、多语言、以及对移动端web的支持。
  • 弹性框架,能主动规避很多导致UI自动化不够稳定的问题。包括自动等待、动态校验、过程跟踪这样一些特性
  • 更匹配现代浏览器的架构,是进程级的隔离,使用上下文的概念区分不同的测试场景,且互不干扰。还有像强化对Frame、shadow dom这样一些比较特殊的前端自动化处理
  • 更充分的隔离以及更快的执行速度,Playwright的上下文机制可以保证浏览器进程基本的隔离以及毫秒级的创建速度。执行速度的优势也得益于playwright基于websocket协议这种长连接、全双工、双向通信的通信协议。
  • 各种辅助工具,包括代码的自动化生成、录制,页面元素的定位辅助以及强大的信息跟踪工具。

工作原理

Playwright是基于Puppeteer之上的优化产物,它的实现原理可以说是puppeteer跟Selenium优点的综合。Playwright内建了一个基于Node.js实现的server模块,这个模块和基于各种不同语言的客户端程序之间,通过websocket协议来进行连接,通信,可以发挥websocket长连接、双向工作的优势。

然后再通过CDP协议对chromium内核的浏览器进行控制和自动化驱动,这里Playwright也支持firefox和webkit(其实是Playwright本身实现了针对这两款浏览器的CDP协议,这里叫CDP plus协议)。

还有个区别,Playwright其实是把浏览器版本内建在工具之中,这样就屏蔽了因浏览器版本不同导致的差异性。

测试框架在自动化测试工具体系中处于什么位置?

我们说到自动化,经常提到测试脚本、自动化工具、框架、平台,那么这些不同的概念到底有什么不一样,我们要介绍的框架,在整个自动化测试体系中,实际是处于什么位置呢?

可以用下面这个分层图来概括:

  • 脚本层面。 更多是可以通过一些测试脚本,来完成一些自动化测试任务或测试辅助工具。包括我们使用各种编程语言编写出来的测试代码,或者操作系统的一些shell、批处理脚本等,都属于脚本层面。脚本是自动化测试测试逻辑的直接体现。包括很多自动化测试录制回放工具,把手工操作,转换为测试脚本,完成的都是这个层面的工作。是自动化测试最基础的部分。
  • 工具层面。 这一层完成的是对脚本的驱动,脚本具体怎么驱动程序执行,怎么进行测试动作和结果的判断? 这些是自动化测试工具要完成的工作。不同类型的测试通常有不同的工具。我们经常说到的Selenium, Appium,Postman,QTP、Jmeter等等,包括Playwright,主要都可以理解为测试工具。可以做Web、移动应用,接口,性能等等不同类型的自动化测试。
  • 框架层面,它解决的是自动化测试的组织,把一整套自动化测试用例组织起来。包括用例的选择,执行过程的控制,结果的汇总呈现等。框架层面,最主要的是会支持不同的测试工具,可以对不同类型的自动化测试进行整合。比较常见的测试框架,比如Pytest、Junit、Robotframework等,都属于优秀的自动化测试框架。 像Junit、Pytest,开始是面向单元测试的测试框架,PyTest是借鉴Junit发展而来,但并不是说他们的应用范围就是单元测试,集成测试、系统测试也同样应用。就像自动化测试不属于某一个具体的测试阶段一样,我们也不要把某个测试工具或测试框架和测试的阶段混淆,这是两个不同维度的概念。
  • 平台层面。自动化测试平台是在更高层面来组织自动化测试。要实现测试任务的调度、测试环境的管理,测试数据、测试脚本等测试资产的管理和分配,包括和其他的研发流程实现互通,比如bug的管理、代码管理、文档管理、配置管理等与各种其他研发工具的互通和整合。

课程大纲

我的这门课程主要是结合Pytest和Playwright工具的系统介绍,学习如何搭建起一个可落地使用的自动化测试框架,包括和持续集成系统的集成。

感兴趣的小伙伴,可以关注哈,链接如下:

PyTest+PlayWright自动化测试框架实战_在线视频教程-CSDN程序员研修院

目前上新期,八折优惠哦~~

相关推荐

史上最全的浏览器兼容性问题和解决方案

微信ID:WEB_wysj(点击关注)◎◎◎◎◎◎◎◎◎一┳═┻︻▄(页底留言开放,欢迎来吐槽)●●●...

平面设计基础知识_平面设计基础知识实验收获与总结
平面设计基础知识_平面设计基础知识实验收获与总结

CSS构造颜色,背景与图像1.使用span更好的控制文本中局部区域的文本:文本;2.使用display属性提供区块转变:display:inline(是内联的...

2025-02-21 16:01 yuyutoo

写作排版简单三步就行-工具篇_作文排版模板

和我们工作中日常word排版内部交流不同,这篇教程介绍的写作排版主要是用于“微信公众号、头条号”网络展示。写作展现的是我的思考,排版是让写作在网格上更好地展现。在写作上花费时间是有累积复利优势的,在排...

写一个2048的游戏_2048小游戏功能实现

1.创建HTML文件1.打开一个文本编辑器,例如Notepad++、SublimeText、VisualStudioCode等。2.将以下HTML代码复制并粘贴到文本编辑器中:html...

今天你穿“短袖”了吗?青岛最高23℃!接下来几天气温更刺激……

  最近的天气暖和得让很多小伙伴们喊“热”!!!  昨天的气温到底升得有多高呢?你家有没有榜上有名?...

CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式

之前也有写过CSS优惠券样式《CSS3径向渐变实现优惠券波浪造型》,这次再来温习一遍,并且将更为详细的讲解,从布局到具体样式说明,最后定义CSS变量,自定义主题颜色。布局...

柠檬科技肖勃飞:大数据风控助力信用社会建设

...

你的自我界限够强大吗?_你的自我界限够强大吗英文

我的结果:A、该设立新的界限...

行内元素与块级元素,以及区别_行内元素和块级元素有什么区别?

行内元素与块级元素首先,CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,分别为块级(block)、行内(inline)。块级元素:(以下列举比较常...

让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华
让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华

去年的两会期间,习近平总书记在参加人大会议四川代表团审议时,对治蜀兴川提出了明确要求,指明了前行方向,并带来了“祝四川人民的生活越来越安逸”的美好祝福。又是一年...

2025-02-21 16:00 yuyutoo

今年国家综合性消防救援队伍计划招录消防员15000名

记者24日从应急管理部获悉,国家综合性消防救援队伍2023年消防员招录工作已正式启动。今年共计划招录消防员15000名,其中高校应届毕业生5000名、退役士兵5000名、社会青年5000名。本次招录的...

一起盘点最新 Chrome v133 的5大主流特性 ?

1.CSS的高级attr()方法CSSattr()函数是CSSLevel5中用于检索DOM元素的属性值并将其用于CSS属性值,类似于var()函数替换自定义属性值的方式。...

竞走团体世锦赛5月太仓举行 世界冠军杨家玉担任形象大使

style="text-align:center;"data-mce-style="text-align:...

学物理能做什么?_学物理能做什么 卢昌海

作者:曹则贤中国科学院物理研究所原标题:《物理学:ASourceofPowerforMan》在2006年中央电视台《对话》栏目的某期节目中,主持人问过我一个的问题:“学物理的人,如果日后不...

你不知道的关于这只眯眼兔的6个小秘密
你不知道的关于这只眯眼兔的6个小秘密

在你们忙着给熊本君做表情包的时候,要知道,最先在网络上引起轰动的可是这只脸上只有两条缝的兔子——兔斯基。今年,它更是迎来了自己的10岁生日。①关于德艺双馨“老艺...

2025-02-21 16:00 yuyutoo

取消回复欢迎 发表评论: