メインコンテンツにスキップ

CI のセットアップ

はじめに

Playwright のテストは、あらゆる CI プロバイダーで実行できます。このセクションでは、GitHub Actions を使用して GitHub でテストを実行する方法について説明します。他の CI プロバイダーを構成する方法については、継続的インテグレーションに関する詳細なドキュメントをご覧ください。

学習内容

GitHub Actions の設定

GitHub Actions ファイルを追加するには、まず .github/workflows フォルダーを作成し、その中に以下の例のコードを含む playwright.yml ファイルを追加します。これにより、main/master ブランチへのプッシュおよびプルリクエストごとにテストが実行されます。

.github/workflows/playwright.yml
name: Playwright Tests
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
- name: Build & Install
run: dotnet build
- name: Ensure browsers are installed
run: pwsh bin/Debug/net8.0/playwright.ps1 install --with-deps
- name: Run your tests
run: dotnet test

これについて詳しく知るには、「Understanding GitHub Actions」を参照してください。

jobs.test.steps のステップのリストを見ると、ワークフローが次のステップを実行していることがわかります。

  1. リポジトリをクローンする
  2. 言語の依存関係をインストールする
  3. プロジェクトの依存関係をインストールしてビルドする
  4. Playwright ブラウザをインストールする
  5. テストを実行する

リポジトリを作成して GitHub にプッシュする

GitHub Actions ワークフローを設定したら、あとはGitHub にリポジトリを作成するか、既存のリポジトリにコードをプッシュするだけです。GitHub の指示に従い、git init コマンドを使用してgit リポジトリを初期化することを忘れないでください。これにより、コードを追加コミット、およびプッシュできます。

dotnet repo on github

ワークフローを開く

Actions タブをクリックしてワークフローを表示します。ここでは、テストが合格したか失敗したかを確認できます。

opening the workflow

プルリクエストでは、PR ステータスチェック詳細リンクをクリックすることもできます。

pr status checked

テストログの表示

ワークフローの実行をクリックすると、GitHub が実行したすべてのアクションが表示され、Run Playwright tests をクリックすると、エラーメッセージ、期待されたものと受け取られたもの、およびコールログが表示されます。

viewing the test logs

トレースの表示

GitHub ActionsのようなCI上で作成されたトレースを成果物としてアップロードできます。これにはトレースの開始と停止が必要です。失敗したテストのみトレースを記録することをお勧めします。トレースがCIにアップロードされると、ダウンロードしてtrace.playwright.devを使用して開くことができます。これはTrace Viewerの静的にホストされたバージョンです。トレースファイルをドラッグアンドドロップでアップロードできます。

シークレットの適切な処理

トレースファイルやコンソールログなどのアーティファクトには、テスト実行に関する情報が含まれています。これらには、テストユーザーのユーザー資格情報、ステージングバックエンドへのアクセストークン、テストソースコード、あるいはアプリケーションのソースコードなどの機密データが含まれる場合があります。これらのファイルは、機密データを扱うのと同じくらい慎重に扱ってください。CI ワークフローの一部としてレポートとトレースをアップロードする場合は、信頼できるアーティファクトストアにのみアップロードするか、アップロードする前にファイルを暗号化するようにしてください。チームメンバーとアーティファクトを共有する場合も同様です。信頼できるファイル共有を使用するか、共有する前にファイルを暗号化してください。

次は何ですか