首頁 > 軟體

Python使用pytest-playwright的原因分析

2023-03-02 18:00:08

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內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com