E2E Tests Custom Cross Browser #4
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: 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" |