Playwright Tests #241
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |