news 2026/7/4 22:13:08

快速入门Playwright框架:从零到自动化测试的第一步

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
快速入门Playwright框架:从零到自动化测试的第一步

01背景介绍

Playwright 是微软开发的 Web应用的自动化测试框架 。selenium相对于Playwright慢很多,因为Playwright是异步实现的,但是selenium是同步的,就是后一个操作必须等待前一个操作。

selenium是由相应的厂商提供相应的驱动,python+驱动执行相当自动化操作,缺点是如果你得浏览器驱动和你得浏览器版本不对应,你得selenium就会报错,而且你需要时刻关注版本得问题。

Playwright 是基于 Node.js 语言开发的,而且不需要再重新下载一个浏览器驱动,相当于已经写好了,仅仅需要安装这个库即可。

所以,这个不会自动更新,因为我们使用固定的。

02常用属性

对象属性

  • p = sync_playwright()创建一个playwright 进程

  • browser = p.chromium.launch(headless=False)创建一个浏览器对象,headless 表示无头

  • page = browser.new_page()创建一个页面对象

动作连

  • page.goto()前往某个网站

  • page.title()获取标题

  • page.locator(‘css选择器’)定位

  • page.fill(‘keyword’)# 输入某些值

  • page.click()# 点击

等待时间

  • page.wait_for_timeout(1000), 单位是毫秒,因为Playwright 框架是异步的,time.sleep() 在 Playwright 中式不推荐使用的,因为time.sleep() 可能破坏Playwright的相关处理逻辑。

03demo实战

改进:

但是上面的写法非常荣誉,既要创建进行,又要创建各种对象,不利于开发和维护,可以使用with as会话管理从而自动管理进程,不需要手动调用start()stop()

代码助手:

输入下面的指令后,会自动弹出两个框框,我们只需要点击点击,右侧就会生成代码,这样我们的工作量会大大减小。

右侧是代码,但是不能获取元素,只能模拟动作连等等。

跟踪:

playwright同时提供了跟踪功能,就是把playwright 的轨迹信息从头到尾到 保存下来,包括 路径 截图等待。

04总结

在本文中,我们详细介绍了Playwright框架,并与Selenium进行了比较。我们了解了安装配置流程,并通过实战项目展示了其强大的功能和灵活性。我们还探讨了常用属性、代码助手和跟踪功能,为读者提供了全面的指南。

通过比较Playwright和Selenium,我们可以看到Playwright在自动化测试领域的优势。其跨浏览器和跨平台的特性,以及对现代Web技术的全面支持,使其成为开发人员和测试人员的首选。无论是构建复杂的测试脚本还是进行简单的页面交互,Playwright都能提供强大而可靠的解决方案。

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 11:09:05

PHP 8.4 vs 老版本:谁才是高并发场景下的王者?实测数据说话

第一章:PHP 8.4 性能对比旧版本提升概览 PHP 8.4 作为 PHP 语言的最新迭代版本,在性能优化方面带来了显著改进。相较于 PHP 7.4 和 PHP 8.0,新版本通过增强 Zend 引擎、优化内存管理机制以及引入更高效的 JIT(Just-In-Time&#x…

作者头像 李华
网站建设 2026/6/29 13:38:23

Laravel 12路由配置全解析(从入门到高阶实战)

第一章:Laravel 12路由配置全解析概述 在 Laravel 12 中,路由是应用的核心入口,负责将 HTTP 请求映射到相应的控制器或闭包函数。良好的路由配置不仅能提升开发效率,还能增强应用的安全性与可维护性。 路由文件结构 Laravel 的主…

作者头像 李华
网站建设 2026/7/1 15:59:54

PHP数组转JSON时中文变问号?5步精准定位并永久修复编码问题

第一章:PHP数组转JSON时中文乱码问题的根源剖析 在使用PHP将包含中文字符的数组转换为JSON格式时,开发者常遇到输出结果中中文显示为\uXXXX形式的Unicode编码,甚至出现乱码现象。这一问题并非源于PHP本身的缺陷,而是与JSON编码过程…

作者头像 李华
网站建设 2026/6/23 4:34:22

Laravel 12路由你真的会用吗:9个必须掌握的高级配置技巧

第一章:Laravel 12路由的核心概念与演进 Laravel 12 在路由系统上延续了其优雅简洁的设计哲学,同时引入了更高效的底层机制以提升性能和可维护性。路由作为应用请求的入口,负责将HTTP请求映射到相应的处理逻辑,是构建Web应用不可或…

作者头像 李华
网站建设 2026/6/26 4:49:04

【2026年】从 0 到 1:网络安全工程师完整学习路线(附技术栈 + 实操 + 职业规划)

引言 网络安全工程师的核心职责是 “搭建企业安全防护体系、监控并抵御网络攻击、保障数据与系统安全”,本质是网络安全的 “守护者”。与渗透测试侧重 “攻击模拟”、CTF 侧重 “解题竞赛” 不同,该岗位更聚焦 “防御落地、合规建设、日常运维”。这份…

作者头像 李华
网站建设 2026/7/4 6:56:35

PHP连接MySQL报错1045?:3分钟快速定位并解决Access denied错误

第一章:PHP连接MySQL报错1045的本质解析 错误代码1045是PHP连接MySQL数据库时常见的权限拒绝问题,其完整提示通常为“Access denied for user usernamehost (using password: YES|NO)”。该错误并非源于PHP代码本身,而是MySQL服务器拒绝了认证…

作者头像 李华