playwright安装及使用教程(一)
·
一、Playwright 简介
Playwright 是由微软开发的现代化端到端(End-to-End)测试框架,主要用于 Web 应用的自动化测试、UI 测试和浏览器自动化操作。它支持多种编程语言,并能高效控制 Chromium、Firefox 和 WebKit 等主流浏览器,具备强大的跨平台能力和灵活的 API 设计,已成为前端开发和测试领域的重要工具之一。
核心特点与优势
-
多浏览器支持
- 原生支持 Chromium(包括 Chrome、Edge)、Firefox 和 WebKit(包括 Safari),可通过统一 API 实现跨浏览器测试。
- 支持在不同浏览器环境中运行相同的测试用例,确保应用在多平台下的一致性。
-
跨平台兼容性
- 可在 Windows、macOS 和 Linux 系统上运行,适配不同开发和测试环境。
-
强大的自动化能力
- 提供模拟用户操作的 API,如点击、输入、滚动、拖拽等,支持复杂交互场景的自动化测试。
- 内置等待机制(如自动等待元素可见、网络请求完成),减少手动处理异步操作的复杂性。
-
高效的测试执行
- 支持并行测试和无头模式(Headless)运行,提升测试效率。
- 可通过浏览器上下文(Browser Context)实现多会话隔离,模拟不同用户场景(如多标签页、多用户登录)。
-
丰富的调试与诊断工具
- 提供 Playwright Inspector 可视化调试工具,可实时查看测试执行过程。
- 支持生成截图、视频录制和详细日志,便于定位测试失败原因。
-
多语言支持
- 支持多种编程语言,包括 JavaScript/TypeScript、Python、C# 和 Java,适配不同开发团队的技术栈。
应用场景
- 端到端(E2E)测试:模拟用户从打开网页到完成操作的全流程,验证应用功能的完整性。
- UI 自动化测试:验证页面元素的交互逻辑、样式渲染和响应式设计。
- 网页爬取与数据提取:自动化获取网页内容,适用于需要动态加载数据的场景。
- 性能测试与监控:结合其他工具分析网页加载速度、资源消耗等性能指标。
- 截图与网页生成:生成网页截图或 PDF,可用于报告生成或可视化测试。
二、playwright安装步骤
环境准备
- python环境:python3.7 (可以使用更高的版本,python3.7只支持playwright的1.35.0版本)官方下载位置:Download Python | Python.org
- pycharm编译器:由 JetBrains 开发的一款专为 Python 编程设计的集成开发环境(IDE),使用十分便利。我是用的是社区版,官方下载位置:感谢您下载PyCharm!
环境安装注意事项
- 安装顺序:先安装python3.7的环境,再去安装pycharm。
环境变量设置:
设置 PATH 变量(Python 命令全局可用)
- 右键点击「此电脑」→ 选择「属性」→ 点击「高级系统设置」→ 「环境变量」。
- 在「系统变量」中找到 Path,点击「编辑」。
- 添加 Python 安装目录(如
C:\Python39)和脚本目录(如C:\Python39\Scripts)。 - 确认所有窗口,重启命令提示符(CMD)或 PowerShell。
playwright安装
在pycharm的Terminal运行以下命令:
pip install playwright
系统会自动适配当前python版本对应的最高版本的playwright,下载时间可能较长
在执行以下命令安装playwright对应的浏览器驱动,包含Chromium(包括 Chrome、Edge)、Firefox 和 WebKit 三个浏览器驱动
playwright install
之后可使用以下命令验证playwright安装是否成功
python -m playwright --version
三、启动playwright录制操作步骤
在pycharm的Terminal运行以下命令:
python.exe -m playwright codegen http://127.0.0.1/login/login.html
在打开的谷歌浏览器中进行对应的操作,同时打开的窗口playwright inspector窗口则会生成对应的 python代码程序,例如:
from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.goto("http://127.0.0.1/login/login.html")
page.get_by_placeholder("请输入用户名").click()
page.get_by_placeholder("请输入用户名").fill("zhang123456")
page.get_by_placeholder("请输入密码").click()
page.get_by_placeholder("请输入密码").fill("123456")
page.locator("div").filter(has_text=" 登 录").nth(2).click()
# ---------------------
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)
将这段代码保存到一个.py 文件中,执行这个新建立的 .py 文件,刚才的操作步骤则会自动在谷歌浏览器中执行
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)