Cypress uruchomienie Safari na Gitlabie

Cypress IO

Loading

Cypress uruchomienie Safari na Gitlabie – to wpis pokazujący w jaki sposób w kilku krótkich krokach  skorzystać z możliwości WebKita na Gitlabie. Dzięki temu update możemy mieć pokrycie z wykorzystaniem wszystkich najpopularniejszych przeglądarek.

Wprowadzenie

Wraz z wydaniem wersji 10.0.8 została wydana eksperymentalna wersja wprowadzająca WebKit Support. Dla wielu użytkowników Cypressa wadą było, że nie możemy pokrywać naszych testów automatycznych z wykorzystaniem Safari. Często też generowało to konieczność weryfikacji manualnej, aby zapewnić wysoką jakość w naszych produktach.

Oczywiście trzeba zaznaczyć, że jest to wersja eksperymentalna i zawiera jeszcze sporo braków i błędów. Przed lekturą niniejszego artykułu – zapoznaj się z tematem uruchamiania testów Cypressa na Gitlabie.

Instalacja

W przedmiocie instalacji i uruchomienia lokalnego przeglądarki Safari pisaliśmy tutaj.

Gitlab-ci.yml

Zakładając, że masz przygotowany już swój plik gitlab-ci.yml zgodnie z naszymi wskazówkami, powinieneś również zainstalować Cypressa w wersji minimum 10.8.0 oraz eksperymentalnie webkita. Następnie w ramach pliku gitlab-ci.yml musimy pozwolić na pobranie obrazu dockerowego z playwrightem:

image: mcr.microsoft.com/playwright:v1.25.0-focal

Dodatkowo w miejscu gdzie uruchamiamy skrypty instalacyjne, musimy dodać też takie wartości:

- npx playwright install-deps webkit
- npm i -D playwright-webkit

Gdy już tego dokonacie w ramach egzekucji naszych testów trzeba pamiętać by wywołać przeglądarkę:

- npx cypress run --spec "cypress/e2e/**/**/*" --browser webkit

Przechodząc – krótki i gotowy skrypt:

safari:
image: cypress/browsers:node16.17.1-chrome106-ff105-edge
image: mcr.microsoft.com/playwright:v1.25.0-focal
tags:
- /nazwa-twojego-runnera/
artifacts:
when: always
paths:
- ./cypress/videos/**
- ./cypress/screenshots/**
- ./cypress/reports/**
expire_in: 7 days
retry:
max: 2
when:
- always
stage: test
script:
- npm install
- npx playwright install-deps webkit
- npm i -D playwright-webkit
- sed -i "s/const VERIFY_TEST_RUNNER_TIMEOUT_MS.*/const VERIFY_TEST_RUNNER_TIMEOUT_MS = 400000;/g" node_modules/cypress/lib/tasks/verify.js
- npx cypress verify
- npx cypress run --spec "cypress/e2e/**/**/*" --browser webkit

Podsumowanie

Cypress uruchomienie Safari na Gitlabie – to kolejny wpis mający zachęcić Was do instalacji i sprawdzenia narzędzia. Z racji popularyzacji narzędzia i dużego wsparcia które otrzymał Cypress na rozwój, będziemy poszerzać wpisy na ten temat. Wszelkie artykuły związane z Cypress IO znajdziecie w dedykowanym dziale.