Skip to content

Playwright Tests

Playwright Tests #190

Workflow file for this run

name: Playwright Tests
on:
workflow_call:
inputs:
frontendHostname:
type: string
description: 'Hostname of the frontend server (optional)'
required: false
playwright_branch:
type: string
description: 'The name of the branch to be tested with Playwright.'
required: false
default: main
workflow_dispatch:
inputs:
frontendHostname:
type: string
description: 'Hostname of the frontend server (optional)'
required: true
playwright_branch:
type: string
description: 'The name of the branch to be tested with Playwright.'
required: false
default: main
push:
branches: [ main ]
jobs:
run_playwright_end2end_tests:
continue-on-error: true
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- name: If input frontendHostname is given, set env variable
if: ${{ inputs.frontendHostname }}
run: echo "FRONTEND_URL=https://${{ inputs.frontendHostname }}/" >> $GITHUB_ENV
- uses: actions/checkout@v3
with:
repository: 'dBildungsplattform/schulportal-testautomatisierung'
ref: ${{ inputs.playwright_branch }}
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Remove Microsoft APT and Update Packages
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update || true
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: List Playwright tests
run: npx playwright test --list --grep "@short"
- name: Run Playwright tests
run: npx playwright test --config=playwright.config.ts --grep "@short"
env:
USER: '${{ secrets.USER }}'
PW: '${{ secrets.PW }}'
- uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30npm login
- uses: RocketChat/Rocket.Chat.GitHub.Action.Notification@1.1.1
if: failure()
with:
type: ${{ job.status }}
job_name: 'Playwright Job Status: '
url: ${{ secrets.RC_WEBHOOK }}
channel: '#SPSH-Test-Automation'
username: Playwright Notificator