Skip to content

E2E Tests Custom Cross Browser #4

E2E Tests Custom Cross Browser

E2E Tests Custom Cross Browser #4

name: E2E Tests Custom Cross Browser
on:
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
workflow_dispatch:
jobs:
Firefox_Custom_Linux_Grid:
runs-on: ubuntu-22.04
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '16'
- name: Set up Native Selenium Grid Firefox
run: docker-compose -f src/main/resources/docker-compose/selenium4.yml up --scale chrome=0 --scale edge=0 --scale firefox=4 -d --force-recreate
shell: bash
- name: Log Browser Version
run: |
BROWSER_VERSION=$(docker run --rm selenium/node-firefox:4.16.1-20231212 firefox --version | awk "{print \$3}")
echo "Firefox Browser Version: $BROWSER_VERSION"
- name: Install Java JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'zulu'
- name: Check running containers
run: docker ps
- name: Run tests
continue-on-error: true
run: |
mvn test -DexecutionAddress="localhost:4444" -DtargetOperatingSystem="LINUX" -DtargetBrowserName="firefox" -DheadlessExecution="true" -DgenerateAllureReportArchive="true" -DscreenshotParams_whenToTakeAScreenshot="FailuresOnly" -DcreateAnimatedGif="false" -Dtest="${{ github.event.inputs.testsPath }}"
- name: Upload Allure Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Firefox_Custom_Linux_Grid_Allure
path: "generatedReport_*.zip"
- name: Upload Allure Report HTML as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Firefox_Custom_Linux_Grid_Allure_HTML
path: "allure-report/index.html"
- name: Upload Extent Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Firefox_Custom_Linux_Grid_Extent
files: "extent-reports/ExtentReports_*.html"
Chrome_Custom_Linux_Grid:
runs-on: ubuntu-22.04
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '16'
- name: Set up Native Selenium Grid Chrome
run: docker-compose -f src/main/resources/docker-compose/selenium4.yml up --scale chrome=4 --scale edge=0 --scale firefox=0 -d --force-recreate
shell: bash
- name: Log Browser Version
run: |
BROWSER_VERSION=$(docker run --rm selenium/node-chrome:120.0 google-chrome-stable --version | awk "{print \$3}")
echo "Google Chrome Browser Version: $BROWSER_VERSION"
- name: Install Java JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'zulu'
- name: Check running containers
run: docker ps
- name: Run tests
continue-on-error: true
run: |
mvn test -DexecutionAddress="localhost:4444" -DtargetOperatingSystem="LINUX" -DtargetBrowserName="chrome" -DheadlessExecution="true" -DgenerateAllureReportArchive="true" -DscreenshotParams_whenToTakeAScreenshot="FailuresOnly" -DcreateAnimatedGif="false" -Dtest="${{ github.event.inputs.testsPath }}"
- name: Upload Allure Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Chrome_Custom_Linux_Grid_Allure
path: "generatedReport_*.zip"
- name: Upload Allure Report HTML as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Chrome_Custom_Linux_Grid_Allure_HTML
path: "allure-report/index.html"
- name: Upload Extent Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Chrome_Custom_Linux_Grid_Extent
files: "extent-reports/ExtentReports_*.html"
Edge_Custom_Linux_Grid:
runs-on: ubuntu-22.04
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '16'
- name: Set up Native Selenium Grid Edge
run: docker-compose -f src/main/resources/docker-compose/selenium4.yml up --scale chrome=0 --scale edge=4 --scale firefox=0 -d --force-recreate
shell: bash
- name: Log Browser Version
run: |
BROWSER_VERSION=$(docker run --rm selenium/node-edge:4.16.1-20231212 microsoft-edge --version | awk "{print \$3}")
echo "Microsoft Edge Browser Version: $BROWSER_VERSION"
- name: Install Java JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'zulu'
- name: Check running containers
run: docker ps
- name: Run tests
continue-on-error: true
run: |
mvn test -DexecutionAddress="localhost:4444" -DtargetOperatingSystem="LINUX" -DtargetBrowserName="microsoftedge" -DheadlessExecution="true" -DgenerateAllureReportArchive="true" -DscreenshotParams_whenToTakeAScreenshot="FailuresOnly" -DcreateAnimatedGif="false" -Dtest="${{ github.event.inputs.testsPath }}"
- name: Upload Allure Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Edge_Custom_Linux_Grid_Allure
path: "generatedReport_*.zip"
- name: Upload Allure Report HTML as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Edge_Custom_Linux_Grid_Allure_HTML
path: "allure-report/index.html"
- name: Upload Extent Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Edge_Custom_Linux_Grid_Extent
files: "extent-reports/ExtentReports_*.html"