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.