Python + Playwright(0):从零开始学习Playwright自动化框架
- 简介
- 一、官方文档
- 二、安装
- 安装要求
- pip安装
- 三、基本使用方法
- 录制脚本
- 四、代码示例
- 结语
简介
- Playwright 是一个强大的自动化库,由微软开发,主要用于web端的UI测试,支持Python、Java、JavaScript、C#等;
- Playwright 仅用一个API即可自动执行Chromium、Firefox、WebKit等主流浏览器自动化操作,不仅支持无头模式和有头模式,还提供了代码录制功能,极大地提高了脚本编写效率,并且支持移动端自动化测试;
- Playwright相比已有的自动化测试框架来说,具有很多优势,比如:
跨浏览器,支持Chromium、Firefox、WebKit
跨操作系统,支持Linux、Mac、Windows - Python(Git): https://github.com/microsoft/playwright-python
一、官方文档
想要深入了解Playwright的使用方法和API文档,可以访问以下链接:
官方文档:https://playwright.dev/python/docs/intro
API文档: https://playwright.dev/python/docs/api/class-playwright
二、安装
安装要求
在安装Playwright之前,请确保满足以下系统要求:
- Python 3.7 或更高版本
- Windows 10及以上版本,Windows Server 2016及以上版本,或Windows Subsystem for Linux (WSL)
- MacOS 12 Monterey 或 MacOS 13 Ventura
- Debian 11、Debian 12、Ubuntu 20.04 或 Ubuntu 22.04
pip安装
- 安装playwright库
pip install playwright
- 安装浏览器驱动文件
playwright install
三、基本使用方法
录制脚本
Playwright提供了一个非常方便的功能 - 脚本录制。
通过以下命令,可以启动录制过程,并将录制的脚本保存为Python文件:
python -m playwright codegen --target python -o test_case.py -b chromium https://www.baidu.com
--target
:规定生成脚本的语言
-o
:将录制的脚本保存到一个文件
-b
:指定浏览器驱动
四、代码示例
下面是一个使用Playwright进行百度搜索的简单代码示例:
import re
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("https://www.baidu.com/")
# 这里可以添加更多的操作,例如搜索、点击等
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)
代码解释:
from playwright.sync_api import Playwright, sync_playwright, expect
:从Playwright的同步API模块导入三个主要的组件
Playwright
:Playwright的主要类,用于创建和控制浏览器实例
sync_playwright
:一个上下文管理器,用于创建和自动关闭Playwright实例
expect
:一个用于断言的模块,可以检查页面的状态,确保测试的预期结果
playwright.chromium.launch(headless=False)
:启动Chromium浏览器,浏览器以有头模式运行
browser.new_context()
:创建一个新的浏览器上下文,隔离测试环境
context.new_page()
:在该上下文中打开一个新页面
page.goto("https://www.baidu.com/")
:导航到百度首页,准备进行自动化操作
context.close()
:关闭当前浏览器上下文,释放相关资源
browser.close()
:关闭浏览器实例
结语
Playwright作为一个功能强大且易于使用的自动化测试框架,无论是对于初学者还是有经验的测试工程师,都是一个值得学习和使用的工具。通过本文的介绍,希望能帮助大家快速入门Playwright,并将其应用到实际的自动化测试工作中。