news 2026/5/12 23:47:46

快速入门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/5/2 11:13:54

PHP项目部署必看:解决MySQL Error 1045的4个关键检查点

第一章:MySQL Error 1045错误概述 MySQL Error 1045 是数据库连接过程中常见的权限拒绝错误,其完整错误信息通常为: Access denied for user usernamehost (using password: YES|NO)。该错误表明客户端尝试连接 MySQL 服务器时,所…

作者头像 李华
网站建设 2026/5/6 16:53:29

Z-Image-Turbo资源占用过高?内存与显存监控优化教程

Z-Image-Turbo资源占用过高?内存与显存监控优化教程 你是否在使用 Z-Image-Turbo 时遇到过电脑卡顿、显存爆满、甚至程序崩溃的情况?这很可能是模型运行过程中资源占用过高导致的。虽然 Z-Image-Turbo 在图像生成速度和质量上表现出色,但其对…

作者头像 李华
网站建设 2026/5/9 10:51:26

Unity脚本生命周期函数执行顺序详解:新手进阶高手的必经之路

第一章:Unity脚本生命周期函数顺序概述 在Unity中,每个脚本从创建到销毁都会经历一系列预定义的回调函数,这些函数按照特定顺序执行,构成了脚本的生命周期。理解这一执行顺序对于正确初始化变量、管理资源以及控制游戏逻辑至关重要…

作者头像 李华
网站建设 2026/5/5 2:59:16

verl开源项目实战:HybridFlow论文复现部署教程

verl开源项目实战:HybridFlow论文复现部署教程 1. 什么是verl?——为LLM后训练量身打造的强化学习框架 你可能已经听说过RLHF(基于人类反馈的强化学习),也见过不少大模型微调工具,但真正能兼顾工程效率、…

作者头像 李华
网站建设 2026/5/10 2:01:36

Awake和Start到底谁先执行?揭秘C# Unity脚本生命周期顺序真相

第一章:Awake与Start执行顺序的谜题 在Unity游戏开发中, Awake 与 Start 是最常被调用的两个生命周期方法。尽管它们看似简单,但其执行顺序常引发开发者的困惑,尤其是在涉及多个脚本依赖关系时。 Awake与Start的基本行为 Awak…

作者头像 李华