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!
推薦閱讀:
- python中playwright結合pytest執行用例的實現
- python palywright庫基本使用
- 詳解Python初學者神器Playwright如何使用
- 微軟開源最強Python自動化神器Playwright(不用寫一行代碼)
- Playwright中如何保持登錄狀態