SynEdgy / SynEdgy/Sampler.PowerShellUniversalTasks

Add reusable Playwright test harness

Aperta
#2 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
PowerShell
Stelle
1
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Summary

Add a reusable Playwright end-to-end test harness to this task module so Sampler-based repositories can run browser tests through the same build entry point and reporting conventions as their Pester tests.

Scope

  • Add a shipped InvokeBuild task file under source/Tasks and export it through a Task.* alias and AliasesToExport metadata.
  • Keep reusable helper logic in one-function-per-file module functions under source/Public or source/Private; do not add a sibling task PSM1.
  • Provide Pester 5 wrapper tasks for importing Pester, running Playwright wrappers, failing the build on test failures, and a convenient testUI workflow alias.
  • Support defaults-first configuration where invocation parameters override build.yaml, and build.yaml overrides module defaults.
  • Default test discovery to tests/playwright, with configurable run paths, tags, and excluded tags.
  • Write Pester NUnit XML results under output/playwright.
  • Document a Node Playwright harness using package.json, playwright.config.ts, and browser test folders such as tests/smoke.
  • Configure Playwright to retain traces, screenshots, and videos on failures and emit a JUnit result file under output/playwright.
  • Define how npm ci and the required Playwright browser installation are bootstrapped locally and in CI.
  • Keep secrets and target URLs environment-driven; no credentials should be committed.
  • Add unit tests for configuration conversion, path resolution, filtering, and failure propagation.
  • Add WikiSource documentation for consumer setup, configuration, task reference, output files, and CI integration.

Suggested task surface

  • Import_Pester_For_Playwright
  • Invoke_Playwright_Pester_Tests_v5
  • Fail_Build_If_Playwright_Tests_Failed
  • Playwright_Tests_Stop_On_Fail
  • testUI

Acceptance criteria

  • A consumer can add the module through RequiredModules.psd1, import its Task.* alias through ModuleBuildTasks, and run ./build.ps1 -Tasks testUI.
  • Missing configured test paths fail with a clear actionable error.
  • Playwright and Pester result files are generated in deterministic locations below output/playwright.
  • Browser diagnostics are retained on failures and can be uploaded as CI artifacts.
  • A failing browser test fails the InvokeBuild workflow.
  • The harness works on supported PowerShell and GitHub-hosted runner environments.
  • Public/private helper functions follow this repository's source layout and test conventions.
  • Documentation describes the complete setup without depending on repository-specific application details.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia esaminando le convenzioni esistenti delle attività Pester e le strutture di source/Tasks, source/Public e source/Private. Traccia le esportazioni del modulo attraverso RequiredModules.psd1, gli alias di Task.* e AliasesToExport, quindi esamina build.yaml e i file e i percorsi di output richiesti di Playwright. Il lavoro è completato quando il workflow testUI, la configurazione e il comportamento in caso di errore, la diagnostica, gli unit test, la configurazione CI e la documentazione WikiSource soddisfano i criteri di accettazione elencati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
playwright, powershell, typescript
Ambito
build-system, ci-cd, documentation, testing
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.