C#でMicrosoft.Playwright.MSTest
の場合、Playwrightのインストール用のスクリプトが付属している*1ため、それを実行してやればGitHub Actionsのワークフローで実行できる。
毎回インストールするのは不経済な気もするけれど、とりあえず動いているのでよし!
E2ETest/E2ETest.csproj にMicrosoft.Playwright.MSTestを用いたテストプロジェクトがある場合のワークフローはこんな感じになる。
name: Playwright Test on: workflow_dispatch: env: DOTNET_VERSION: 8.x.x jobs: e2e: runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.DOTNET_VERSION }} - run: dotnet restore E2ETest/E2ETest.csproj - run: dotnet build E2ETest/E2ETest.csproj --no-restore - run: pwsh E2ETest/bin/Debug/net8.0/playwright.ps1 install --with-deps - run: dotnet test E2ETest/E2ETest.csproj --no-build --verbosity normal
CI GitHub Actions | Playwrightには以下のような感じでインストールするといいんじゃないの? って書いてあるけれど、.NETラッパーを使ってる場合はこの限りではない様子だった。
- uses: actions/setup-node@v3 - name: Install playwright browsers run: npx playwright install-deps chromium
そんな感じ。