【Playwright自动化】录制生成脚本

一、Playwright制生成脚本

命令行录制生成脚本

Playwright 提供了内置的脚本录制工具,可以自动生成测试脚本,简化编写自动化测试的过程。以下是具体操作方法:

启动录制模式

运行以下命令启动浏览器并开启录制功能:

复制代码
playwright codegen  https://www.baidu.com

启 动 后, 电脑 上出 现 2 个窗口,左 边 是 浏览 器打开网站可以操作,右 边 是 inspector 可以生成 对应
的脚本

录制操作流程

  1. 打开的浏览器中执行所有需要录制的操作(点击、输入等)。
  2. 操作会实时转换为脚本并显示在侧边栏。
  3. 点击复制按钮将生成的脚本保存到文件。

录制功能的高级用法

  • 多语言支持 :通过 --target 参数指定生成语言(如 npx playwright codegen --target=python
  • 设备模拟 :添加 --device="iPhone 11" 模拟移动端操作
  • 保存录制会话 :使用 --output 参数指定脚本保存路径
  • 录制特定站点 :直接指定URL(如 npx playwright codegen https://example.com

保留经过身份验证的状态
运行 codegen 以在会 话结 束 时 --save-storage 保存 cookie 和 localStorage 。 这对 于 单 独 记录 身份
验证 步 骤 并在稍后的 测试 中重用它很有用。
执 行身份 验证 并关 闭浏览 器后, auth.json 将包含存 储 状 态 。

复制代码
playwright codegen --save-storage=auth.json

运行 --load-storage 以消耗先前加 载 的存 储 。 这样 ,所有的 cookie 和 localStorage 都将被恢复,使
大多数网 络应 用程序 进 入身份 验证 状 态 。

复制代码
playwright open --load-storage=auth.json url
playwright codegen --load-storage=auth.json url

注:可通过插件形式录制

谷歌插件直接搜(需要进行科学上网)

二、录制实战

登录deepseek,获取token,实现下次免登录:

1.访问deepseek 网站:https://www.deepseek.com/en/vl

2.点击开始对话

3.选择密码登录,输入账号密码,然后点击登录

理清楚步骤之后,我们在控制台输入命令,开始录制脚本:

复制代码
playwright codegen --save-storage=auth.json

收获1:我们成功录制了登录的脚本

python 复制代码
import time

from playwright.sync_api import Page, expect


def test_example(page: Page) -> None:
    page.goto("https://www.deepseek.com/en/vl")
    with page.expect_popup() as page1_info:
        page.get_by_role("link", name="开始对话 与 DeepSeek-V3.2 免费对话 体验全新旗舰模型").click()
    page1 = page1_info.value
    page1.get_by_text("密码登录").click()
    page1.get_by_placeholder("请输入手机号/邮箱地址").click()
    page1.get_by_placeholder("请输入手机号/邮箱地址").fill("你的账号")
    page1.get_by_placeholder("请输入密码").click()
    page1.get_by_placeholder("请输入密码").fill("你的密码")
    page1.get_by_role("button", name="登录").click()
    time.sleep(20)

收获2:获取到了token,下次可以携带token实现免登录

带token,实现免登录:

python 复制代码
 playwright open --load-storage=auth.json https://www.deepseek.com/en/vl

不带token:

python 复制代码
playwright open  https://www.deepseek.com/en/vl     
相关推荐
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--6 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森6 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜7 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB8 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode9 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户03284722207010 天前
如何搭建本地yum源(上)
运维
大树8813 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠13 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质13 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务