Skip to content

E2E Tests

E2E Tests #966

Workflow file for this run

name: E2E Tests
on:
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
schedule:
- cron: '00 1 * * *'
workflow_dispatch:
env:
GLOBAL_TESTING_SCOPE: "!%regex[.*NetworkInterceptionTest.*], !%regex[.*DatabaseTests.*], !%regex[.*MobileEmulation.*], !%regex[.*Healenium.*], !%regex[.*Release.*], !%regex[.*checksum.*], !%regex[.*cucumber.*], !%regex[.*ikuli.*], !%regex[.*Comparison.*], !%regex[.*FileActions.*], !%regex[.*TerminalActions.*], !%regex[.*Shell.*], !%regex[.*fullPageScreenshotWithHeader.*], !%regex[.*dbConnection.*], !%regex[.*appium.*], !%regex[.*ndroid.*],!%regex[.*obile.*], !%regex[.*ios.*], !%regex[.*IOS.*], !%regex[.*BasicAuthentication.*], !%regex[.*Test_LT*.*], !%regex[.*Tests_Api.*], !%regex[.*tests_restActions.*], !%regex[.*Test_AssertApiResponseEquals.*], !%regex[.*MatchJsonSchemaTests.*]"
jobs:
Ubuntu_Firefox_Grid:
runs-on: ubuntu-22.04
timeout-minutes: 60
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Native Selenium Grid
run: docker-compose -f src/main/resources/docker-compose/selenium4.yml up --scale chrome=0 --scale edge=0 --scale firefox=4 -d
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
check-latest: true
- name: Check running containers
run: docker ps
- name: Run tests
continue-on-error: true
run: mvn -e test "-DretryMaximumNumberOfAttempts=2" "-DexecutionAddress=localhost:4444" "-DtargetOperatingSystem=LINUX" "-DtargetBrowserName=firefox" "-DheadlessExecution=true" "-DgenerateAllureReportArchive=true" "-Dtest=${GLOBAL_TESTING_SCOPE}"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
files: ./target/jacoco/jacoco.xml
verbose: true
- name: Upload Allure Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Ubuntu_Firefox_Grid_Allure
path: "generatedReport_*.zip"
- name: Upload Execution Summary Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Ubuntu_Firefox_Grid_Summary
path: "execution-summary/ExecutionSummaryReport_*.html"
Ubuntu_Chrome_Grid:
runs-on: ubuntu-22.04
timeout-minutes: 60
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Native Selenium Grid
run: docker-compose -f src/main/resources/docker-compose/selenium4.yml up --scale chrome=4 --scale edge=0 --scale firefox=0 -d
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
check-latest: true
- name: Check running containers
run: docker ps
- name: Run tests
continue-on-error: true
run: mvn -e test "-DretryMaximumNumberOfAttempts=2" "-DexecutionAddress=localhost:4444" "-DtargetOperatingSystem=LINUX" "-DtargetBrowserName=chrome" "-DheadlessExecution=true" "-DgenerateAllureReportArchive=true" "-Dtest=${GLOBAL_TESTING_SCOPE}"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
files: ./target/jacoco/jacoco.xml
verbose: true
- name: Upload Allure Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Ubuntu_Chrome_Grid_Allure
path: "generatedReport_*.zip"
- name: Upload Execution Summary Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Ubuntu_Chrome_Grid_Summary
path: "execution-summary/ExecutionSummaryReport_*.html"
Ubuntu_Edge_Grid:
runs-on: ubuntu-22.04
timeout-minutes: 60
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Native Selenium Grid
run: docker-compose -f src/main/resources/docker-compose/selenium4.yml up --scale chrome=0 --scale edge=4 --scale firefox=0 -d
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
check-latest: true
- name: Check running containers
run: docker ps
- name: Run tests
continue-on-error: true
run: mvn -e test "-DretryMaximumNumberOfAttempts=2" "-DexecutionAddress=localhost:4444" "-DtargetOperatingSystem=LINUX" "-DtargetBrowserName=MicrosoftEdge" "-DheadlessExecution=true" "-DgenerateAllureReportArchive=true" "-Dtest=${GLOBAL_TESTING_SCOPE}"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
files: ./target/jacoco/jacoco.xml
verbose: true
- name: Upload Allure Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Ubuntu_Edge_Grid_Allure
path: "generatedReport_*.zip"
- name: Upload Execution Summary Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Ubuntu_Edge_Grid_Summary
path: "execution-summary/ExecutionSummaryReport_*.html"
Windows_Edge_Local:
runs-on: windows-latest
timeout-minutes: 60
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
check-latest: true
- name: Run tests
continue-on-error: true
run: mvn -e test "-DretryMaximumNumberOfAttempts=2" "-DexecutionAddress=local" "-DtargetOperatingSystem=WINDOWS" "-DtargetBrowserName=MicrosoftEdge" "-DheadlessExecution=true" "-DgenerateAllureReportArchive=true" "-Dtest=!%regex[.*NetworkInterceptionTest.*], !%regex[.*DatabaseTests.*], !%regex[.*MobileEmulation.*], !%regex[.*Healenium.*], !%regex[.*Release.*], !%regex[.*checksum.*], !%regex[.*cucumber.*], !%regex[.*ikuli.*], !%regex[.*Comparison.*], !%regex[.*FileActions.*], !%regex[.*TerminalActions.*], !%regex[.*Shell.*], !%regex[.*fullPageScreenshotWithHeader.*], !%regex[.*dbConnection.*], !%regex[.*appium.*], !%regex[.*ndroid.*],!%regex[.*obile.*], !%regex[.*ios.*], !%regex[.*IOS.*], !%regex[.*BasicAuthentication.*], !%regex[.*Test_LT*.*], !%regex[.*Tests_Api.*], !%regex[.*tests_restActions.*], !%regex[.*Test_AssertApiResponseEquals.*], !%regex[.*MatchJsonSchemaTests.*]"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
files: ./target/jacoco/jacoco.xml
verbose: true
- name: Upload Allure Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Windows_Edge_Local_Allure
path: "generatedReport_*.zip"
- name: Upload Execution Summary Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Windows_Edge_Local_Summary
path: "execution-summary/ExecutionSummaryReport_*.html"
Windows_Chrome_Local:
runs-on: windows-latest
timeout-minutes: 60
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
check-latest: true
- name: Run tests
continue-on-error: true
run: mvn -e test "-DretryMaximumNumberOfAttempts=2" "-DexecutionAddress=local" "-DtargetOperatingSystem=WINDOWS" "-DtargetBrowserName=chrome" "-DheadlessExecution=true" "-DgenerateAllureReportArchive=true" "-Dtest=!%regex[.*NetworkInterceptionTest.*], !%regex[.*DatabaseTests.*], !%regex[.*MobileEmulation.*], !%regex[.*Healenium.*], !%regex[.*Release.*], !%regex[.*checksum.*], !%regex[.*cucumber.*], !%regex[.*ikuli.*], !%regex[.*Comparison.*], !%regex[.*FileActions.*], !%regex[.*TerminalActions.*], !%regex[.*Shell.*], !%regex[.*fullPageScreenshotWithHeader.*], !%regex[.*dbConnection.*], !%regex[.*appium.*], !%regex[.*ndroid.*],!%regex[.*obile.*], !%regex[.*ios.*], !%regex[.*IOS.*], !%regex[.*BasicAuthentication.*], !%regex[.*Test_LT*.*], !%regex[.*Tests_Api.*], !%regex[.*tests_restActions.*], !%regex[.*Test_AssertApiResponseEquals.*], !%regex[.*MatchJsonSchemaTests.*]"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
files: ./target/jacoco/jacoco.xml
verbose: true
- name: Upload Allure Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Windows_Chrome_Local_Allure
path: "generatedReport_*.zip"
- name: Upload Execution Summary Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: Windows_Chrome_Local_Summary
path: "execution-summary/ExecutionSummaryReport_*.html"
MacOSX_Safari_Local:
runs-on: macOS-12
timeout-minutes: 60
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
check-latest: true
- name: Run tests
continue-on-error: true
run: mvn -e test "-DretryMaximumNumberOfAttempts=2" "-DexecutionAddress=local" "-DtargetOperatingSystem=MAC" "-DtargetBrowserName=SAFARI" "-DgenerateAllureReportArchive=true" "-Dtest=${GLOBAL_TESTING_SCOPE}"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
files: ./target/jacoco/jacoco.xml
verbose: true
- name: Upload Allure Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: MacOSX_Safari_Local_Allure
path: "generatedReport_*.zip"
- name: Upload Execution Summary Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: MacOSX_Safari_Local_Summary
path: "execution-summary/ExecutionSummaryReport_*.html"
MacOSX_Chrome_Local:
runs-on: macOS-12
timeout-minutes: 60
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
check-latest: true
- name: Setup Chromium
uses: browser-actions/setup-chrome@latest
- name: Run tests
continue-on-error: true
run: mvn -e test "-DretryMaximumNumberOfAttempts=2" "-DexecutionAddress=local" "-DtargetOperatingSystem=MAC" "-DtargetBrowserName=chrome" "-DheadlessExecution=true" "-DgenerateAllureReportArchive=true" "-Dtest=${GLOBAL_TESTING_SCOPE}"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
files: ./target/jacoco/jacoco.xml
verbose: true
- name: Upload Allure Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: MacOSX_Chrome_Local_Allure
path: "generatedReport_*.zip"
- name: Upload Execution Summary Report as Pipeline Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: MacOSX_Chrome_Local_Summary
path: "execution-summary/ExecutionSummaryReport_*.html"