テスト対象サイト: ホテル予約サイト
- C#
- Playwright
ホテル予約サイトを模したテスト用のサイトを使用し、5つのテストケースを実行する。
- 登録ユーザーでのログイン
登録されたユーザーでログインが成功するかを確認する。 - 未入力の場合のエラー表示の確認
メールアドレスとパスワードが未入力の場合、適切なエラーメッセージが表示されることを確認する。
- 未ログイン状態の確認
未ログイン状態で表示される宿泊プラン一覧を確認する。 - 一般会員の確認
一般会員でログインした状態で表示される宿泊プラン一覧を確認する。 - プレミアム会員の確認
プレミアム会員でログインした状態で表示される宿泊プラン一覧を確認する。
- Microsoft.Playwright
- .NET SDK: バージョン8.0以降
- Visual Studio Code (推奨)
このプロジェクトでは、GitHub Actionsを利用したCIを導入しており、コードがmain
にpushされるたびにビルド&テストが自動的に実行される。
テストの結果はHTML形式で生成され、GitHub Pagesを通して確認できる。
-
リポジトリをクローン
git clone https://github.com/Bey9434/hotel-playwright-tests
-
依存関係をインストール
HotelPlaywrightTests.csprojが存在するディレクトリに移動して以下のコマンドを実行する。
dotnet restore
※.NETのバージョンが8.0以外の場合、.csproj内の
<TargetFramework>
を使用しているバージョンに合わせて変更すること。 -
プロジェクトのビルド
dotnet build
-
Playwrightブラウザのインストール
pwsh bin/Debug/net8.0/playwright.ps1 install
※別のバージョンの.NETを使用している場合、/net8.0/をバージョンに合わせて調整すること。
-
テストの実行
dotnet test --filter "LoginPageTests" dotnet test --filter "PlansPageTests"
このテストファイルでは、以下のテストケースを対象とする。
- LoggedInDefineUser: 登録ユーザーでのログインを確認する。
- ErrorMessageempty: メールアドレスとパスワードが未入力の場合のエラーメッセージが表示されることを確認する。
このテストファイルでは、以下のテストケースを対象とする。
- PlansNotLoggedIn: 未ログイン時に正しい宿泊プランが表示されることを確認する。
- PlansLoggedInGeneralMember: 一般会員でログイン時に正しい宿泊プランが表示されることを確認する。
- PlansLoggedInPremiumMember: プレミアム会員でログイン時に正しい宿泊プランが表示されることを確認する。
pre-commitはコミット前に自動でコードのチェックやテストを実施し、品質を保つためのツールである。
この設定では、JSONやYAMLの構文チェック、C#のコードフォーマット、テストを実行をする機能を実装している。
-
pre-commitのインストール
以下のコマンドを実施し、pre-commitをインストールする。
pip install pre-commit
-
Pre-commit フックの有効化
プロジェクトディレクトリに移動して。pre-commitをインストールする。
cd /path/to/your/hotel-playwright-tests pre-commit install