自动化测试框架playwright使用

Playwright介绍

Playwright 是微软开发的Web应用的自动化测试框架。

与Selenium相比,Selenium 只提供了 Web 自动化功能(自动化操作浏览器), 如果你要做自动化测试,需要结合其它自动化测试框架(例如pytest)。

而 Playwright 是面向自动化测试的,除了Web自动化功能,它也包含了自动化测试的功能框架;

playwright自动化测试原理如下图所示,以python语言为例(其他开发语言也可以操作playwright),通过playwright客户端库,借助playwright浏览器驱动,对浏览器进行操作。

实战

当前安装的python版本 3.12.8

python安装playwright库

pip install playwright -i https://pypi.tuna.tsinghua.edu.cn/simple

下载浏览器

注意这里的浏览器不是指平时用的浏览器,而是playwright自己经过编译的浏览器,跟playwright配套使用。

playwright install

会自动下载三个浏览器。

如果只需要自动化一种浏览器,可以在参数中指定,比如只需要谷歌浏览器,执行下面的脚本

playwright install chromium

如果是windows系统,下载的内容在下面这个目录中

第一个自动化脚本

python 复制代码
from playwright.sync_api import sync_playwright


# 启动 playwright driver 进程
p = sync_playwright().start()


# 启动浏览器,返回 Browser 类型对象
browser = p.chromium.launch(headless=False)

# 创建新页面,返回 Page 类型对象
page = browser.new_page()
page.goto("https://www.byhy.net/cdn2/files/selenium/stock1.html")
print(page.title()) # 打印网页标题栏

# 输入通讯,点击查询。这是定位与操作,是自动化重点,后文详细讲解
page.locator('#kw').fill('通讯')  # 输入通讯
page.locator('#go').click()      # 点击查询

input('回车后关闭浏览器')
# 关闭浏览器
browser.close()

# 关闭 playwright driver 进程
p.stop()

在开发工具中直接运行这段脚本,会自动打开playwright安装的谷歌浏览器,并访问一个指定的网站,且在网站的输入框中填充内容并进行了查询操作。

开发工具的控制台,输出了打印的信息

在控制台回车,自动关闭浏览器,并关闭playwright进程。

可以通过参数 executable_path 指定使用安装的其它浏览器,比如指定打开的浏览器是之前我的电脑上自己安装的谷歌浏览器,找到谷歌浏览器exe程序所在的目录,放到executable_path参数中。

加上 executable_path参数

browser = p.chromium.launch(headless=False, executable_path=r'C:\Users\11972\AppData\Local\Google\Chrome\Application\chrome.exe')

再次执行程序,就会打开自己指定的浏览器。

参考文章:

https://www.byhy.net/etc/playwright/01/

相关推荐
Python×CATIA工业智造2 小时前
Python回调函数中携带额外状态的完整指南:从基础到高级实践
python·pycharm
害恶细君3 小时前
【超详细】使用conda配置python的开发环境
开发语言·python·jupyter·pycharm·conda·ipython
java1234_小锋3 小时前
TensorFlow2 Python深度学习 - TensorFlow2框架入门 - 变量(Variable)的定义与操作
python·深度学习·tensorflow·tensorflow2
我星期八休息3 小时前
C++异常处理全面解析:从基础到应用
java·开发语言·c++·人工智能·python·架构
2401_841495644 小时前
【数据结构】汉诺塔问题
java·数据结构·c++·python·算法·递归·
哈里谢顿5 小时前
Celery app 实例为何能在 beat、worker 等进程中“传递”?源码与机制详解
python
qq_402605655 小时前
python爬虫(二) ---- JS动态渲染数据抓取
javascript·爬虫·python
AI数据皮皮侠5 小时前
中国地级市旅游人数、收入数据(2000-2023年)
大数据·人工智能·python·深度学习·机器学习·旅游
mooooon L5 小时前
DAY 43 复习日-2025.10.7
人工智能·pytorch·python·深度学习·神经网络