一、Playwright錄製生成腳本

命令行錄製生成腳本

Playwright 提供了內置的腳本錄製工具,可以自動生成測試腳本,簡化編寫自動化測試的過程。以下是具體操作方法:

啓動錄製模式
運行以下命令啓動瀏覽器並開啓錄製功能:

playwright codegen  https://www.baidu.com


啓 動 後, 電腦 上出 現 2 個窗口,左 邊 是 瀏覽 器打開網站可以操作,右 邊 是 inspector 可以生成 對應


的腳本


【Playwright自動化】錄製生成腳本_json

錄製操作流程

  1. 打開的瀏覽器中執行所有需要錄製的操作(點擊、輸入等)。
  2. 操作會實時轉換為腳本並顯示在側邊欄。
  3. 點擊複製按鈕將生成的腳本保存到文件。

【Playwright自動化】錄製生成腳本_#運維_02

錄製功能的高級用法

  • 多語言支持:通過 --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


注:可通過插件形式錄製

谷歌插件直接搜(需要進行上網)

【Playwright自動化】錄製生成腳本_側邊欄_03

二、錄製實戰

登錄deepseek,獲取token,實現下次免登錄:

1.訪問deepseek網站:https://www.deepseek.com/en/vl

2.點擊開始對話

【Playwright自動化】錄製生成腳本_#運維_04

3.選擇密碼登錄,輸入賬號密碼,然後點擊登錄

理清楚步驟之後,我們在控制枱輸入命令,開始錄製腳本:

playwright codegen --save-storage=auth.json

收穫1:我們成功錄製了登錄的腳本

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實現免登錄

【Playwright自動化】錄製生成腳本_json_05

帶token,實現免登錄:

playwright open --load-storage=auth.json https://www.deepseek.com/en/vl

不帶token:

playwright open  https://www.deepseek.com/en/vl