《最新出爐》系列入門篇-Python+Playwright自動化測試-41-錄製視頻

1.簡介

上一篇講解和分享了錄製自動生成腳本,索性連帶錄製視頻也一股腦的在這裏就講解和分享了。今天我們將學習如何使用Playwright和Python來錄製瀏覽器操作的視頻,以便在需要時進行回放和分析。

2.錄製視頻語法

錄製視頻介紹官方API的文檔地址:https://playwright.dev/python/docs/videos#record-video

2.1錄製

視頻在測試結束時瀏覽器上下文關閉時保存。如果您手動創建瀏覽器上下文,請確保browser_context.close(), 會在調用close的時候保存視頻。如果沒有等到上下關閉,就停止執行將不會保存視頻。

context = browser.new_context(record_video_dir="videos/")
# Make sure to close, so that videos are saved.
context.close()

2.2大致流程步驟

①、安裝 Playwright Python(已完成搭建playwright環境)
②、創建一個瀏覽器實例
③、啓動錄製
④、執行需要錄製的操作
⑤、關閉瀏覽器或者上下文實例
⑥、保存錄像文件

接下來,我們將詳細介紹每個步驟需要做什麼,並提供相應的代碼示例進行實戰。

3.詳細步驟

3.1安裝playwright

安裝 Playwright Python(已完成搭建playwright環境)

3.2創建瀏覽器實例

在開始錄製之前,我們需要創建一個上下文或者瀏覽器實例。下面的代碼演示瞭如何創建一個 Chromium 瀏覽器實例:

from playwright.sync_api import sync_playwright

with sync_playwright() as playwright:
    browser = playwright.chromium.launch()
    page = browser.new_page()

3.3啓動錄製

一旦我們有了瀏覽器實例或者上下文和頁面,我們就可以啓動錄製了。使用以下代碼在頁面上啓動錄製:

context = browser.new_context(record_video_dir="videos/")
# Make sure to close, so that videos are saved.
context.close()

代碼執行後,可以看到videos目錄下生成了視頻,只是格式是webm格式。 如下圖所示:

3.4執行需要錄製的操作

現在,我們可以在頁面上執行任何需要錄製的操作。例如,點擊按鈕、填寫表單等。請根據您的需求編寫相應的代碼。

3.5關閉實例

當您完成了需要錄製的操作後,使用以下代碼關閉瀏覽器或者上下文實例:

context.close()
browser.close()

3.6 保存錄像文件

最後,我們需要保存錄制的視頻文件。使用以下代碼將錄製保存爲文件:

page.video.path() # 獲取錄製文件的路徑

您可以將錄像文件路徑打印出來,或將其保存到變量中供後續使用。

4.項目實戰

這裏還是以度娘爲例,在搜索框輸入“北京-宏哥”,點擊“百度一下”。

4.1代碼設計

4.2參考代碼

# coding=utf-8🔥

# 1.先設置編碼,utf-8可支持中英文,如上,一般放在第一行

# 2.註釋:包括記錄創建時間,創建人,項目名稱。
'''
Created on 2023-11-26
@author: 北京-宏哥
公衆號:北京宏哥
Project: 《最新出爐》系列初窺篇-Python+Playwright自動化測試-41-錄製視頻
'''

# 3.導入模塊
from playwright.sync_api import sync_playwright

with sync_playwright() as playwright:
    # 創建一個瀏覽器實例
    browser = playwright.chromium.launch()
    # 啓動錄製
    context = browser.new_context(record_video_dir="videos/recording.mp4")
    page = context.new_page()
    # 執行需要錄製的操作
    page.goto("https://www.baidu.com")
    page.locator("#kw").fill("北京-宏哥")
    page.locator("#su").click()
    # 關閉實例
    context.close()
    browser.close()
    # 保存錄像文件
    recording_path = page.video.path()
    print("錄像文件路徑:", recording_path)

4.3運行代碼

1.運行代碼,右鍵Run'Test',控制檯輸出,如下圖所示:

2.運行代碼後電腦端的瀏覽器的動作。如下圖所示:

5.指定視頻大小

您還可以指定視頻大小。視頻大小默認爲縮小以適合 800x800 的視口大小。視口的視頻放置在輸出視頻的左上角,必要時縮小以適合。您可能需要設置視口大小以匹配所需的視頻大小。

context = browser.new_context(
    record_video_dir="videos/",
    record_video_size={"width": 640, "height": 480}
)

保存的視頻文件將出現在指定的文件夾中。它們都生成了唯一的名稱。對於多頁面場景,您可以通過 page.video 訪問與頁面關聯的視頻文件。

path = page.video.path()

6.video對象方法

video對象方法官方API:https://playwright.dev/python/docs/api/class-video

6.1獲取視頻路徑

print(page.video.path()) 

6.2刪除視頻

video.delete()

6.3視頻另存爲

video.save_as(path) 

7.小結

 好了,今天時間不早了,關於playwright的錄製視頻就先介紹講解到這裏。感謝您耐心的閱讀!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章