当前位置: 首页 > news >正文

Playwright 常用命令、参数详解及使用示例

Playwright 常用命令、参数详解及使用示例

一、基础安装与初始化

安装CLI工具
npm install -g @playwright/cli
playwright install  # 安装浏览器驱动
生成测试代码

通过录制操作生成脚本:

npx playwright codegen https://example.com  -o test.py --target python
  • -o:输出文件路径
  • --target:生成语言(如python、javascript)
  • -b:指定浏览器(chromium/firefox/webkit)

二、核心参数详解

浏览器控制
  • --browser:指定浏览器类型(默认chromium)
  • --headed:显示浏览器界面(默认无头模式)
  • --device:模拟移动设备(如"iPhone 11")
npx playwright test --browser=firefox --headed --device="Pixel 5"
调试与性能
  • --slowmo:操作延迟(毫秒)
  • --timeout:全局超时时间(默认30秒)
  • --viewport-size:设置窗口大小(如1280,720)
npx playwright test --slowmo=2000 --timeout=60000
输出与记录
  • --screenshot:截图模式(on/off/only-on-failure)
  • --video:录屏模式(同上)
  • --output:结果保存目录
npx playwright test --screenshot=on --video=retain-on-failure

三、配置文件示例

playwright.config.ts中定义默认参数:

import { defineConfig } from '@playwright/test';
export default defineConfig({timeout: 60000,use: {headless: false,viewport: { width: 1280, height: 720 },video: 'retain-on-failure'}
});

支持通过--config指定配置文件。

四、Python示例代码

from playwright.sync_api import sync_playwrightwith sync_playwright() as p:browser = p.chromium.launch(headless=False, slow_mo=1000)page = browser.new_page(viewport={"width": 1600, "height": 900})page.goto("https://example.com")page.screenshot(path="example.png", full_page=True)browser.close()

此代码启动可视化浏览器,设置视口大小并截图。

五、高级场景

设备模拟
npx playwright open --device="iPhone 13" https://example.com

模拟移动端浏览,自动适配UA和分辨率。

认证状态复用
npx playwright codegen --save-storage=auth.json  # 保存登录状态
npx playwright open --load-storage=auth.json    # 加载状态

完整参数列表可通过npx playwright --help查看最新文档。

相关文章:

  • springboot调用redis数据库,操作字符串
  • Java基础打卡-集合2025.05.22
  • Oracle20200714GI_PSU补丁流程及问题收集
  • [yolov11改进系列]基于yolov11引入全维度动态卷积ODConv的python源码+训练源码
  • Java 反射机制深度解析:从原理到实战应用
  • 【25-cv-05791】Aro de luz 摄影灯具商标维权案
  • 端口 3389 服务 ms - wbt - server 漏洞修复方法
  • 2025年渗透测试面试题总结-匿名[实习]安全技术研究员(题目+回答)
  • AI提示工程(Prompt Engineering)高级技巧详解
  • 被忽视的 App 安全入口:资源文件暴露问题与 iOS 混淆实战(含 Ipa Guard 应用经验)
  • 打卡day38
  • Elasticsearch创建快照仓库报错处理
  • 【深度学习】9. CNN性能提升-轻量化模型专辑:SqueezeNet / MobileNet / ShuffleNet / EfficientNet
  • 力扣热题——分类求和并作差
  • Java实现加解密和通信安全
  • C++11 -- 右值引用和移动语义
  • python多进程
  • 在 C++ 中,当回调函数是类的成员函数时,this指针的指向由调用该成员函数的对象决定
  • 4.8.5 利用Spark SQL统计网站每月访问量
  • MySQL事务机制介绍
  • 上海高端品牌网站建设/张北网站seo
  • 网站开发建设费用包括那些/深圳外贸网站建设
  • 网站开发市场调查/谷歌广告投放
  • 中山 网站设计/seo先上排名后收费
  • 冠辰网站建设/怎么样建网站
  • 做企业网站步骤/宁波正规seo推广