Vai al contenuto
SDETRole
SDETRole

Test design e utility

Generatore di workflow GitHub Actions per i test

Crea un workflow CI per Playwright, Cypress, Selenium o pytest.

Funziona interamente nel tuo browser Senza registrazione

Builds a workflow file for .github/workflows/. Review it before committing.

Options

Triggers

Comma-separated. Leave empty for all branches.

Leave empty for no schedule. GitHub may delay scheduled runs at busy times.

Browsers

Installs these browsers and passes --project=<name>; the names must match projects in playwright.config.ts.

Above 1 splits tests across parallel jobs and merges the reports.

Extras

.github/workflows/playwright.yml

Before you commit

Uses actions/checkout@v4, setup-node@v4 / setup-java@v4 / setup-python@v5, cache@v4 and upload-artifact@v4. Check commands such as npm ci or pip install -r requirements.txt match your repository, and add secrets with ${{ secrets.NAME }} rather than hard-coding them.

Informazioni sullo strumento

La maggior parte delle suite di test ha bisogno dello stesso scheletro di CI: checkout del codice, installazione del runtime, installazione di dipendenze e browser, esecuzione dei test e conservazione del report quando qualcosa fallisce. Questo generatore scrive quel workflow per Playwright (TypeScript), Cypress, Selenium con Java e Maven o pytest, usando le major version attuali delle action ufficiali (checkout@v4, setup-node@v4, setup-java@v4, setup-python@v5, cache@v4, upload-artifact@v4). Per Playwright può suddividere la suite in job paralleli con --shard=i/n e poi unire i blob report in un unico report HTML, seguendo lo schema documentato da Playwright. Le esecuzioni pianificate usano cron a 5 campi in UTC, come richiesto da GitHub Actions.

Come si usa

  1. Scegli framework e versione del runtime, poi i trigger: push, pull_request, una pianificazione cron o workflow_dispatch manuale.
  2. Seleziona i browser e, per Playwright, il numero di shard. Lascia attivi caching e upload dei report, a meno che tu non abbia un motivo per disattivarli.
  3. Copia lo YAML o scaricalo, salvalo in .github/workflows/ nel tuo repository e verifica che comandi come npm ci o pip install -r requirements.txt corrispondano al tuo progetto.

Generatore di workflow GitHub Actions per i test: domande frequenti

Perché la pianificazione parte a un’ora diversa da quella prevista?

GitHub Actions valuta il cron in UTC, quindi converti dal tuo fuso orario locale. Le esecuzioni pianificate possono anche partire in ritardo nei periodi di carico, e nei repository pubblici i workflow pianificati vengono disattivati automaticamente dopo 60 giorni senza attività nel repository.

Come funziona qui lo sharding di Playwright?

Una matrix avvia un job per shard e ciascuno esegue npx playwright test --shard=i/n con il blob reporter. Un job successivo scarica tutti i blob report ed esegue npx playwright merge-reports per produrre un unico artifact con il report HTML.

Perché c’è un flag --project per ogni browser?

Playwright seleziona i browser tramite i project definiti in playwright.config.ts. Il comando generato passa --project=<name> per ogni browser selezionato, quindi quei nomi di project devono esistere nella tua configurazione. Rimuovi il flag per eseguire tutti i project.

Dove metto credenziali come la password di un utente di test?

Salvale come secret del repository o dell’ambiente e richiamale con ${{ secrets.NAME }} in un blocco env. Non committarle mai nel file del workflow.

Scrivi per cercare in tutto SDETRole.

Ricerca full-text con Pagefind · funziona nel tuo browser Apri la pagina di ricerca →