從零開始:使用 Playwright 腳本錄製實現自動化測試

前言

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 的使用技巧!

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