Skip to content

Playwright Tests

Playwright Tests #242

Workflow file for this run

name: Playwright Tests
on:
schedule:
- cron: '0 23 * * *'
pull_request:
branches: [ main, master ]
paths: ['Kiss.Bff.EndToEndTest/**']
workflow_dispatch:
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./Kiss.Bff.EndToEndTest
steps:
- uses: actions/checkout@v4
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
- run: dotnet build
- name: Ensure browsers are installed
run: pwsh bin/Debug/net8.0/playwright.ps1 install --with-deps
- name: Run your tests
id: e2e
run: dotnet test
env:
'TestSettings:TEST_USERNAME': ${{ secrets.PLAYWRIGHT_USERNAME }}
'TestSettings:TEST_PASSWORD': '${{ secrets.PLAYWRIGHT_PASSWORD }}'
'TestSettings:TEST_TOTP_SECRET': ${{ secrets.PLAYWRIGHT_TOTP_SECRET }}
'TestSettings:TEST_BASE_URL': ${{ secrets.PLAYWRIGHT_BASE_URL }}
- name: Create html file
if: ${{ failure() && steps.e2e.conclusion == 'failure' }}
run: |
cd bin/Debug/net8.0/playwright-traces
my_string=$(echo *.zip)
IFS=' ' read -ra my_array <<< "$my_string"
result='<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Playwright traces</title></head><body><ul>'
#Print the split string
for i in "${my_array[@]}"
do
result+="<li><a target=\"_blank\" href=\"https://trace.playwright.dev/?trace=https://klantinteractie-servicesysteem.github.io/KISS-frontend/$i\">$i</a></li>"
done
result+="</ul></body></html>"
echo "$result"
echo "$result" > index.html
- name: Deploy to GitHub Pages
if: ${{ failure() && steps.e2e.conclusion == 'failure' }}
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./Kiss.Bff.EndToEndTest/bin/Debug/net8.0/playwright-traces # directory of your reports
publish_branch: gh-pages/e2e # deploying to gh-pages branch