Files
Berufsschule_HAM/.github/workflows/test.yml

65 lines
2.1 KiB
YAML

name: E2E Tests
on:
push:
branches: [ "main" ]
workflow_dispatch:
jobs:
selenium-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
- name: Install Chrome and ChromeDriver
run: |
sudo apt-get update
sudo apt-get install -y wget gnupg unzip
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
sudo apt-get update
sudo apt-get install -y google-chrome-stable
# Install matching ChromeDriver
CHROME_VERSION=$(google-chrome --version | grep -oE "[0-9]+\\.[0-9]+\\.[0-9]+")
CHROMEDRIVER_VERSION=$(curl -s "https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_$CHROME_VERSION")
if [ -z "$CHROMEDRIVER_VERSION" ]; then
CHROMEDRIVER_VERSION=$(curl -s "https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE")
fi
wget -O /tmp/chromedriver.zip "https://storage.googleapis.com/chrome-for-testing-public/$CHROMEDRIVER_VERSION/linux64/chromedriver-linux64.zip"
unzip /tmp/chromedriver.zip -d /tmp/
sudo mv /tmp/chromedriver-linux64/chromedriver /usr/local/bin/chromedriver
sudo chmod +x /usr/local/bin/chromedriver
google-chrome --version
chromedriver --version
- name: Verify Chrome install
run: |
chromium-browser --version
chromedriver --version
- name: Restore dependencies
run: dotnet restore src/
- name: Build solution
run: dotnet build src/ --configuration Release --no-restore
- name: Run Selenium tests
env:
DOTNET_ENVIRONMENT: Development
run: dotnet test src
- name: Upload test results
uses: actions/upload-artifact@v4
with:
name: selenium-test-results
path: "**/TestResults/*.trx"