Python使用pytest-playwright的原因分析

pytest-playwright 是一個 Python 包,它允許您使用 Microsoft 的 Playwright 庫在 Python 項目中進行端到端測試。

在這篇博客中,田辛老師將向您介紹 pytest-playwright,演示如何安裝它,並舉例說明如何在您的 Python 項目中使用它。

1 用playwright能不能不用這個包?

首先田辛老師強調,如果你不想使用 pytest-playwright,你仍然可以在你的 Python 項目中使用 Playwright。隻不過需要一些額外的配置。 我們會在下次博客中介紹如何PyUnit+playwright。 下面的代碼是一個單純的playwright的例子

from playwright.sync_api import Playwright, sync_playwright_with_browsers

with sync_playwright_with_browsers() as playwright:
    browser = playwright.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto('https://www.baidu.com')
    browser.close()

此代碼使用 sync_playwright_with_browsers() 函數啟動 Playwright 實例,啟動 Chromium 瀏覽器,導航至 Google 主頁,然後關閉瀏覽器。隻不過Python不會識別它是一段自動化測試代碼, 隻是當成一段普通的Python程序去運行。

2 安裝

安裝方法其實田辛老師在前兩天的文檔裡面提過,通過pip進行安裝:
pip install pytest-playwright

3 代碼和文檔

田辛老師還是希望大傢去看原始文檔的,所以給出如下鏈接:

pytest-playwright 的官方 Github 存儲庫:
https://github.com/pytest-playwright/pytest-playwright 。
在這裡您可以找到源代碼、文檔、問題跟蹤器和與包相關的其他資源。

pytest-playwright 的官方文檔托管在 Read the Docs:
https://pytest-playwright.readthedocs.io/en/latest/
該文檔包括安裝說明、使用示例、配置選項等。

4 示例代碼

以下是如何使用 pytest-playwright 測試一個簡單網站的示例:

import pytest  
from playwright.sync_api import Playwright, sync_playwright  
@pytest.fixture(scope='module')  
def playwright() -> Playwright:  
    with sync_playwright() as playwright:  
        yield playwright  
@pytest.fixture(scope='module')  
def browser(playwright: Playwright):  
    browser = playwright.chromium.launch(headless=False)  
    yield browser  
    browser.close()  
@pytest.fixture(scope='module')  
def page(browser):  
    page = browser.new_page()  
    yield page  
    page.close()  
def test_baidu_homepage(page):  
    page.goto('https://www.baidu.com')  
    assert page.title() == '百度一下,你就知道'

以上的代碼使用, 創建一個 Playwright 實例,啟動一個 Chromium 瀏覽器,並創建一個新頁面。然後使用 test_baidu_homepage 方法使用 page fixture 導航到網站主頁並檢查頁面標題。

要使用 pytest-playwright 運行此測試,請將代碼保存到名為 test_baidu.py 的文件中,然後從命令行運行以下命令:

pytest test_google.py

另外這個代碼中,田辛老師故意用到瞭yield的機制, 如果對yield不熟悉的同學可以嘗試閱讀之前田老師寫的這篇文章:【Python】一篇文章讀懂yield基本用法

5 結論

pytest-playwright 是一個強大且易於使用的工具,用於在 Python 中自動化瀏覽器測試。憑借其直觀的語法、豐富的功能集和大量的文檔,它是任何希望改進其測試工作流程的人的絕佳選擇。田辛老師要提醒的是, playwright的使用不一定非使用pytest-playwright, 明天我們會來看看pyunit怎麼使用playwright。 雖然麻煩一點,但是田辛老師想說,作為測試人員提升的一個重要邏輯就是:不要對任何技術產生路徑依賴。

到此這篇關於Python使用pytest-playwright的原因分析的文章就介紹到這瞭,更多相關python使用pytest-playwright內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: