最終更新日時
Feb 21, 2024 3:51 AM
ツール
ChatGPT
利用シーン
実装/テストコードを書く
特定のサイトのURLからE2Eテストを生成する
質問例
次のサイトに対して、自動E2Eテストを作成したいです。
Python, Playwright, pytestのテストコードを書いてください。
https://hotel.testplanisphere.dev/ja/
回答内容
Playwrightとpytestを使用して、指定されたサイト(https://hotel.testplanisphere.dev/ja/)に対する簡単なエンドツーエンド(E2E)テストの例を書きます。このテストスクリプトでは、以下のステップを実行します:
- Playwrightを使用してブラウザを起動します。
- 指定されたURLにアクセスします。
- ホームページが正常に表示されることを確認します。
- ログインページに移動して、デモアカウントでログインを試みます。
- ログインが成功したかを確認します。
まず、Playwrightとpytestを使用するために必要なパッケージをインストールする必要があります。これらは、以下のコマンドを使用してインストールできます:
pip install playwright pytest pytest-playwright
次に、Playwrightを設定して、必要なブラウザのバイナリをインストールします:
playwright install
以下は、指定されたテストシナリオに対するテストスクリプトの例です:
import pytest from playwright.sync_api import sync_playwright @pytest.fixture(scope="function") def browser(): with sync_playwright() as p: browser = p.chromium.launch(headless=False) # ヘッドレスモードを無効にしてブラウザUIを表示 yield browser browser.close() def test_login(browser): page = browser.new_page() page.goto("<https://hotel.testplanisphere.dev/ja/>") # ホームページの確認 assert "宿泊予約" in page.title() # ログインページへの移動 page.click("text=ログイン") page.wait_for_url("**/login") # デモアカウントでのログイン page.fill("input[name='email']", "demo@example.com") page.fill("input[name='password']", "password") page.click("text=ログイン") # ログイン成功の確認 assert page.url == "<https://hotel.testplanisphere.dev/ja/mypage>" page.close()
このテストスクリプトは基本的な流れをカバーしていますが、実際のプロジェクトではさらに多くのエッジケースや機能に対するテストが必要になります。また、セキュリティ、パフォーマンス、レスポンシブデザインのテストなど、他の側面を考慮することも重要です。
テストを実行するには、上記のスクリプトを
.py
ファイルに保存し、pytestを使用して実行します:pytest <ファイル名>.py
テスト実行時には、Playwrightが自動的にブラウザを開き、指定されたステップを実行して結果を報告します。