Python + Playwright(0):从零开始学习Playwright自动化框架

发布于:2024-06-23 ⋅ 阅读:(156) ⋅ 点赞:(0)

Python + Playwright(0):从零开始学习Playwright自动化框架

简介

  • 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,并将其应用到实际的自动化测试工作中。