SynEdgy / SynEdgy/Sampler.PowerShellUniversalTasks
Add reusable Playwright test harness
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/Tasksand export it through aTask.*alias andAliasesToExportmetadata. - Keep reusable helper logic in one-function-per-file module functions under
source/Publicorsource/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
testUIworkflow alias. - Support defaults-first configuration where invocation parameters override
build.yaml, andbuild.yamloverrides 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 astests/smoke. - Configure Playwright to retain traces, screenshots, and videos on failures and emit a JUnit result file under
output/playwright. - Define how
npm ciand 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_PlaywrightInvoke_Playwright_Pester_Tests_v5Fail_Build_If_Playwright_Tests_FailedPlaywright_Tests_Stop_On_FailtestUI
Acceptance criteria
- A consumer can add the module through
RequiredModules.psd1, import itsTask.*alias throughModuleBuildTasks, 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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- 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