一、Playwright錄製生成腳本
命令行錄製生成腳本
Playwright 提供了內置的腳本錄製工具,可以自動生成測試腳本,簡化編寫自動化測試的過程。以下是具體操作方法:
啓動錄製模式
運行以下命令啓動瀏覽器並開啓錄製功能:
playwright codegen https://www.baidu.com
啓 動 後, 電腦 上出 現 2 個窗口,左 邊 是 瀏覽 器打開網站可以操作,右 邊 是 inspector 可以生成 對應
的腳本
錄製操作流程
- 打開的瀏覽器中執行所有需要錄製的操作(點擊、輸入等)。
- 操作會實時轉換為腳本並顯示在側邊欄。
- 點擊複製按鈕將生成的腳本保存到文件。
錄製功能的高級用法
- 多語言支持:通過
--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:我們成功錄製了登錄的腳本
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,實現免登錄:
playwright open --load-storage=auth.json https://www.deepseek.com/en/vl
不帶token:
playwright open https://www.deepseek.com/en/vl