前言
selenium中提供了一個selenium IDE的工具用於腳本錄製,我們通過插件市場安裝之後,便可以將我們對瀏覽器頁面的操作錄製成腳本,並輸出成java或Python等語言的腳本,我們可以通過生成的腳本再次回放我們的操作。
作爲一個比selenium更加強大的web自動化測試工具,當然也擁有錄製的功能了,本篇文章我們就來介紹playwright的腳本錄製功能。
錄製腳本
Playwright 具有開箱即用的生成測試的能力,是快速開始測試的好方法。它將打開兩個窗口,一個是瀏覽器窗口,您可以在其中與要測試的網站進行交互,另一個是 Playwright Inspector 窗口,您可以在其中記錄測試、複製測試、清除測試以及更改測試語言。
啓動命令如下:
playwright codegen http://網站地址
啓動後,電腦上出現2個窗口,左邊是瀏覽器打開網站可以操作,右邊是inspector 可以生成對應的腳本,如下圖:
我們以登錄百度爲例錄製我們的腳本,我們使用輸入賬號以及密碼的方式登錄百度,如下:
我們輸入完用戶名密碼之後,點擊登錄按鈕,即可登錄。
注:此處並沒有使用真實賬號,所以登錄是失敗的。
生成的代碼如下:
from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.goto("https://www.baidu.com/")
page.get_by_role("link", name="登錄").click()
page.get_by_placeholder("手機號/用戶名/郵箱").click()
page.get_by_placeholder("手機號/用戶名/郵箱").fill("muller")
page.get_by_placeholder("密碼").click()
page.get_by_placeholder("密碼").fill("12345678")
page.get_by_role("button", name="登錄").click()
# ---------------------
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)
還可以選擇生成異步代碼
當然,作爲Python愛好者,我還是喜歡直接生成Pytest測試用例代碼,很好,playwright能滿足我的要求
from playwright.sync_api import Page, expect
def test_example(page: Page) -> None:
page.goto("https://www.baidu.com/")
page.get_by_role("link", name="登錄").click()
page.get_by_placeholder("手機號/用戶名/郵箱").click()
page.get_by_placeholder("手機號/用戶名/郵箱").fill("muller")
page.get_by_placeholder("密碼").click()
page.get_by_placeholder("密碼").fill("12345678")
page.get_by_role("button", name="登錄").click()
總結
通過本文的介紹,我們學習瞭如何使用 Playwright 腳本錄製功能來創建自動化測試腳本。Playwright 提供了一個簡單而強大的錄製器工具,幫助開發人員輕鬆構建和維護測試用例。希望本文能夠對你有所幫助,讓你更好地掌握 Playwright 的使用技巧!