スポンサーリンク

【完全入門】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テストについて、以下の記事で詳しく解説しています。

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

基礎系

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