スポンサーリンク

【完全入門】Reqnroll × Playwrightで始めるE2Eテスト入門(C# / .NET対応)

【完全入門】Reqnroll × Playwrightで始めるE2Eテスト入門(C# / .NET対応)

Webアプリケーションの品質を保つために、自動テストは欠かせません。
その中でも、実際のユーザー操作に近い形でテストを行う E2Eテスト(End to Endテスト) が注目されています。

本記事では、以下の技術を使った E2Eテストの基本を解説します。

  • Playwright
  • Reqnroll
  • C# / .NET

この記事を読むことで次のことが理解できます。

  • E2Eテストとは何か
  • Playwrightとは何か
  • Reqnrollとは何か
  • Reqnroll + Playwrightの基本構成
  • E2Eテストの簡単な例

また本記事は Reqnroll × Playwright解説シリーズの親記事です。

Reqnroll × Playwright 記事一覧

本サイトでは、ReqnrollとPlaywrightを使ったE2Eテストについて、以下の記事で詳しく解説しています。

基礎から実装まで順番に読むことで理解しやすくなります。

基礎系

環境構築系

実践的コード系

レポート出力系

Playwright系

E2Eテストとは

E2Eテストとは End to Endテストの略で、
システム全体の動作を確認するテストです。

例えばWebアプリでは次のような流れをテストします。

  1. ログインページを開く
  2. ID・パスワードを入力
  3. ログインボタンを押す
  4. マイページが表示される

このように ユーザー操作を自動化してテストするのがE2Eテストです。


テストの種類

一般的なテストは次の3種類に分けられます。

テスト種類内容
単体テストクラスやメソッド単位
結合テスト複数モジュールの連携
E2Eテストシステム全体

E2Eテストは最も実際のユーザー操作に近いテストになります。


Playwrightとは

Playwrightは Microsoftが開発したブラウザ自動化ツールです。

主に次の用途で利用されます。

  • E2Eテスト
  • UIテスト
  • Webスクレイピング

Playwrightの特徴

  • Chrome / Edge / Firefox / Safari対応
  • 自動待機機能
  • 高速動作
  • 複数言語対応(C# / JavaScript / Pythonなど)

.NET環境でも利用できるため、C#でE2Eテストを書くことができます。

Playwrightの詳細については、こちらの記事で解説しています。

Playwrightとは?Seleniumとの違いをわかりやすく解説

Reqnrollとは

Reqnrollは BDD(Behavior Driven Development)ツールです。

簡単に言うと、自然言語に近い形でテストを書くことができるツールです。

例えば以下のようなテストを書けます。

Feature: Login

Scenario: ログイン成功
  Given ログイン画面を開く
  When ユーザー名とパスワードを入力
  And ログインボタンを押す
  Then マイページが表示される

このように 仕様書に近い形でテストを書くことができるのが特徴です。

詳しくはこちらの記事で解説しています。

Reqnrollとは?SpecFlowとの違いと特徴を解説

Reqnroll × Playwrightの構成

ReqnrollとPlaywrightを組み合わせることで、次のような構成でE2Eテストを作成できます。

Featureファイル(Reqnroll)
        ↓
StepDefinition(C#)
        ↓
Playwright
        ↓
ブラウザ操作

役割は以下の通りです。

役割ツール
テスト仕様Reqnroll
テスト実装C#
ブラウザ操作Playwright

簡単なE2Eテストの例

ログイン機能のE2Eテストを例に見てみます。

Featureファイル

Feature: Login

Scenario: ログイン成功
  Given ログイン画面を開く
  When IDとパスワードを入力
  And ログインボタンをクリック
  Then マイページが表示される

StepDefinition

[Given("ログイン画面を開く")]
public async Task OpenLoginPage()
{
    await _page.GotoAsync("https://example.com/login");
}

[When("ログインボタンをクリック")]
public async Task ClickLogin()
{
    await _page.ClickAsync("#login-button");
}

Playwrightを使用することで、ブラウザ操作を自動化したテストを実行できます。

Reqnroll × Playwrightのメリット

この組み合わせには次のメリットがあります。

テストが読みやすい

ReqnrollのFeatureファイルにより
仕様書のような形でテストを書くことができます。

UIテストを自動化できる

Playwrightにより

  • クリック
  • 入力
  • ページ遷移

などのブラウザ操作を自動化できます。

.NETとの相性が良い

C#でテストを書くことができるため

  • ASP.NET
  • Blazor
  • Angular + .NET

などのプロジェクトでも利用できます。

まとめ

本記事では Reqnroll × PlaywrightによるE2Eテストの基礎を解説しました。

ポイント

  • E2Eテストはユーザー操作を自動化するテスト
  • Playwrightはブラウザ自動化ツール
  • ReqnrollはBDDテストツール
  • 組み合わせることで読みやすいE2Eテストが書ける

.NET
スポンサーリンク
シェアする
trelab