pytest-playwright 基本チュートリアル (1) - インストールと簡単な使い方

pytest-playwright 基本チュートリアル (1) - インストールと簡単な使い方

この記事の構成

1.Playwrightのインストール方法

2. テストケースの実行方法

3. 治具の簡単な紹介

簡単な紹介

このチュートリアルは主に公式ウェブサイトのチュートリアルを翻訳したものです

公式ドキュメントのリンクを添付します:インストール | Playwright Python

Playwrightのインストール方法

pycharmターミナルに入力します

pip install pytest-playwright

あとはインストールを待つだけです

[外部リンク画像の転送に失敗しました。ソース サイトには盗難防止リンク メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-3FQqIZI2-1683697046497) (image\playwright 基本チュートリアル\install playwright.png)]


インストールが完了したら、ターミナルに入力します

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

テストケースを実行する

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-ccResFMY-1683697046498) (image\playwright 基本チュートリアル\run pytest.jpg)]

デフォルトでは、クロム カーネルがテスト ケースの実行に使用され、デフォルトはヘッドレス モード、つまりページは表示されません。最終結果はターミナルに表示されます。

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後続のコードはテストケースの後に実行されます。

実行効果は以下の通り

*[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムが備わっている可能性があります。画像を保存して直接アップロードすることをお勧めします (img-UOyjv8Vu-1683697046498)(image\playwright 基本チュートリアル\test fixture.jpg)]

要約する

この記事では、playwright+pytest を使った簡単なテストの始め方と、pytest でのフィクスチャの使い方を紹介しますので、皆さんのお役に立てれば幸いです(●'◡'●)

おすすめ

転載: blog.csdn.net/ekcchina/article/details/130599005