Python使用pytest-playwright的原因分析
pytest-playwright 是一個 Python 包,它允許您使用 Microsoft 的 Playwright 庫在 Python 項目中進行端到端測試。
在這篇博客中,田辛老師將向您介紹 pytest-playwright,演示如何安裝它,并舉例說明如何在您的 Python 項目中使用它。
1 用playwright能不能不用這個包?
首先田辛老師強調(diào),如果你不想使用 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() 函數(shù)啟動 Playwright 實例,啟動 Chromium 瀏覽器,導(dǎo)航至 Google 主頁,然后關(guān)閉瀏覽器。只不過Python不會識別它是一段自動化測試代碼, 只是當(dāng)成一段普通的Python程序去運行。
2 安裝
安裝方法其實田辛老師在前兩天的文檔里面提過,通過pip進行安裝:pip install pytest-playwright
3 代碼和文檔
田辛老師還是希望大家去看原始文檔的,所以給出如下鏈接:
pytest-playwright 的官方 Github 存儲庫:
https://github.com/pytest-playwright/pytest-playwright 。
在這里您可以找到源代碼、文檔、問題跟蹤器和與包相關(guān)的其他資源。
pytest-playwright 的官方文檔托管在 Read the Docs:
https://pytest-playwright.readthedocs.io/en/latest/
該文檔包括安裝說明、使用示例、配置選項等。
4 示例代碼
以下是如何使用 pytest-playwright 測試一個簡單網(wǎng)站的示例:
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() == '百度一下,你就知道'以上的代碼使用, 創(chuàng)建一個 Playwright 實例,啟動一個 Chromium 瀏覽器,并創(chuàng)建一個新頁面。然后使用 test_baidu_homepage 方法使用 page fixture 導(dǎo)航到網(wǎng)站主頁并檢查頁面標(biāo)題。
要使用 pytest-playwright 運行此測試,請將代碼保存到名為 test_baidu.py 的文件中,然后從命令行運行以下命令:
pytest test_google.py
另外這個代碼中,田辛老師故意用到了yield的機制, 如果對yield不熟悉的同學(xué)可以嘗試閱讀之前田老師寫的這篇文章:【Python】一篇文章讀懂yield基本用法
5 結(jié)論
pytest-playwright 是一個強大且易于使用的工具,用于在 Python 中自動化瀏覽器測試。憑借其直觀的語法、豐富的功能集和大量的文檔,它是任何希望改進其測試工作流程的人的絕佳選擇。田辛老師要提醒的是, playwright的使用不一定非使用pytest-playwright, 明天我們會來看看pyunit怎么使用playwright。 雖然麻煩一點,但是田辛老師想說,作為測試人員提升的一個重要邏輯就是:不要對任何技術(shù)產(chǎn)生路徑依賴。
到此這篇關(guān)于Python使用pytest-playwright的原因分析的文章就介紹到這了,更多相關(guān)python使用pytest-playwright內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3實現(xiàn)的反轉(zhuǎn)單鏈表算法示例
這篇文章主要介紹了Python3實現(xiàn)的反轉(zhuǎn)單鏈表算法,結(jié)合實例形式總結(jié)分析了Python基于迭代算法與遞歸算法實現(xiàn)的翻轉(zhuǎn)單鏈表相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
淺談pandas中shift和diff函數(shù)關(guān)系
下面小編就為大家分享一篇淺談pandas中shift和diff函數(shù)關(guān)系,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
matplotlib部件之矩形選區(qū)(RectangleSelector)的實現(xiàn)
這篇文章主要介紹了matplotlib部件之矩形選區(qū)(RectangleSelector)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
python實現(xiàn)ip地址的包含關(guān)系判斷
這篇文章主要介紹了python實現(xiàn)ip地址的包含關(guān)系判斷,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
python+selenium+Chrome options參數(shù)的使用
這篇文章主要介紹了python+selenium+Chrome options參數(shù)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

