From d3aeac8faba805894552a0ce900339567369f119 Mon Sep 17 00:00:00 2001 From: Dimitri Kopriwa Date: Thu, 3 Nov 2022 18:31:52 +0200 Subject: [PATCH] desktop-firefox --- .github/workflows/e2e-desktop-firefox.yml | 54 +++++++++++++++++++ .../createSession.desktop.firefox.test.ts | 26 +++++++++ package.json | 1 + 3 files changed, 81 insertions(+) create mode 100644 .github/workflows/e2e-desktop-firefox.yml create mode 100644 e2e/tests/pocs/createSession.desktop.firefox.test.ts diff --git a/.github/workflows/e2e-desktop-firefox.yml b/.github/workflows/e2e-desktop-firefox.yml new file mode 100644 index 00000000000..d08d3a11b91 --- /dev/null +++ b/.github/workflows/e2e-desktop-firefox.yml @@ -0,0 +1,54 @@ +name: Tests e2e Desktop Safari + +on: + workflow_dispatch: + inputs: + environment: + type: environment + description: Select the environment + required: true + +jobs: + e2e-desktop-firefox: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + + - name: Install dependencies + run: yarn + + - name: Setup sentry credentials + env: + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + run: | + cat <> ~/.sentryclirc + [defaults] + url=https://sentry.passculture.team/ + org=sentry + project=application-native + + [auth] + token=$SENTRY_AUTH_TOKEN + EOT + + + - name: Run Web on Desktop Chrome for ${{ inputs.environment }} environment + run: | + NODE_OPTIONS='--openssl-legacy-provider --max-old-space-size=4096' yarn start:web:${{ inputs.environment }} &>/dev/null & + + - name: Waiting for server + run: | + until $(curl --output /dev/null --silent --head --fail http://localhost:3000); do + printf '.' + sleep 5 + done + + - uses: browser-actions/setup-geckodriver@latest + - run: geckodriver --version + + - name: Run e2e Desktop Firefox tests + run: yarn test:e2e:desktop:firefox diff --git a/e2e/tests/pocs/createSession.desktop.firefox.test.ts b/e2e/tests/pocs/createSession.desktop.firefox.test.ts new file mode 100644 index 00000000000..7ee5ef0d29f --- /dev/null +++ b/e2e/tests/pocs/createSession.desktop.firefox.test.ts @@ -0,0 +1,26 @@ +import { Builder, ThenableWebDriver } from 'selenium-webdriver' +import { Options } from 'selenium-webdriver/firefox' + +describe('desktop firefox', () => { + let driver: ThenableWebDriver | undefined + + beforeAll(async () => { + driver = new Builder().forBrowser('firefox') + .setFirefoxOptions( + new Options() + .headless() + ) + .build() + expect(driver).toBeDefined() + }) + + afterAll(async () => { + await driver.quit() + }) + + it('should create session', async () => { + await driver.get('https://google.com') + const title = await driver.getTitle() + expect(title).toEqual('Google') + }) +}) diff --git a/package.json b/package.json index dfa6f84c75e..2a0e09f8ec9 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "test:e2e:ios:native": "yarn test:e2e --testRegex ./e2e/tests/.*.ios.native.test.*", "test:e2e:ios:safari": "yarn test:e2e --testRegex ./e2e/tests/.*.ios.safari.test.*", "test:e2e:desktop:chrome": "yarn test:e2e --testRegex ./e2e/tests/.*.desktop.chrome.test.*", + "test:e2e:desktop:firefox": "yarn test:e2e --testRegex ./e2e/tests/.*.desktop.firefox.test.*", "fix:lint": "eslint . --ext .js,.ts,.tsx,.mjs --fix", "generate:api:client": "SWAGGER_CODEGEN_CLI_VERSION=3.0.30 ./scripts/generate_api_client.sh", "ios:prod": "react-native run-ios --scheme PassCulture-Production",