pytest-playwright 基本チュートリアル (1) - インストールと簡単な使い方
この記事の構成
1.Playwrightのインストール方法
2. テストケースの実行方法
3. 治具の簡単な紹介
簡単な紹介
このチュートリアルは主に公式ウェブサイトのチュートリアルを翻訳したものです
公式ドキュメントのリンクを添付します:インストール | Playwright Python
Playwrightのインストール方法
pycharmターミナルに入力します
pip install pytest-playwright
あとはインストールを待つだけです
インストールが完了したら、ターミナルに入力します
playwright install
Playwrightに付属するブラウザドライバーをインストールする
テストケースの実行方法
test_my_application.py
という名前のファイルを作成し、次の内容を入力します
import re
from playwright.sync_api import Page, expect
def test_homepage_has_Playwright_in_title_and_get_started_link_linking_to_the_intro_page(page: Page):
page.goto("https://playwright.dev/")
# 查找是否存在标题 为"Playwright".
expect(page).to_have_title(re.compile("Playwright"))
# 创建一个定位器实例
get_started = page.get_by_role("link", name="Get started")
# 严格查找一个值"/docs/intro".
expect(get_started).to_have_attribute("href", "/docs/intro")
# 点击 get_started 按钮.
get_started.click()
# 判断该链接中是否包含"intro".
expect(page).to_have_url(re.compile(".*intro"))
端子を入力してください
pytest
テストケースを実行する
デフォルトでは、クロム カーネルがテスト ケースの実行に使用され、デフォルトはヘッドレス モード、つまりページは表示されません。最終結果はターミナルに表示されます。
expect()
関数の役割は次のとおりです: 期待される条件が満たされるまで待機します。
pytestのテストフィクスチャを使用する
import pytest
from playwright.sync_api import Page
@pytest.fixture(scope="function", autouse=True)
def before_each_after_each(page: Page):
print("beforeEach")
# Go to the starting url before each test.
page.goto("https://playwright.dev/")
yield
print("afterEach")
def test_main_navigation(page: Page):
# Assertions use the expect API.
expect(page).to_have_url("https://playwright.dev/")
@pytest.fixture(scope="function",autouse=True)
その役割は、コードの再利用を実現するために、各テスト ケースがこのデコレーターによって装飾された関数を使用できるようにすることです。
パラメータの紹介:
scope = "function"
の機能は、各テスト機能が実行されるときにこのフィクスチャが使用されることを意味します
autouse = True
このフィクスチャが適格なテスト ケースを自動的に見つけて自動的に実行し、この関数を再度呼び出す必要がないことを示します。
このうち、yield
前のコードはテストケースの前に実行され、yield
後続のコードはテストケースの後に実行されます。
実行効果は以下の通り
要約する
この記事では、playwright+pytest を使った簡単なテストの始め方と、pytest でのフィクスチャの使い方を紹介しますので、皆さんのお役に立てれば幸いです(●'◡'●)