Wstęp
W wpisie o Cypressie śledziłeś moment, w którym runner dostał Firefox i Edge oraz aktualizację do wersji 4.x. Playwright od początku traktuje wiele silników jako coś oczywistego: jedna instalacja (npx playwright install), jeden plik spec, wiele projektów.
Poprzedni odcinek: data-testid.
Projekty w playwright.config.ts
import { defineConfig, devices } from "@playwright/test"
export default defineConfig({
projects: [
{ name: "chromium", use: { ...devices["Desktop Chrome"] } },
{ name: "firefox", use: { ...devices["Desktop Firefox"] } },
{ name: "webkit", use: { ...devices["Desktop Safari"] } },
],
})Uruchomienie wszystkich:
npx playwright testTylko Firefox:
npx playwright test --project=firefoxTylko Chromium:
npx playwright test --project=chromiumNie musisz przełączać przeglądarki w GUI jak w starym filmie z Cypressa - choć npx playwright test --ui nadal pozwala wybierać projekt z listy.
Edge i Chrome kanałowe
Playwright potrafi uruchomić zainstalowany Edge (channel: 'msedge') lub Chrome (channel: 'chrome'). To osobny wariant use w projekcie - przydatne, gdy chcesz zweryfikować coś bliżej „prawdziwej” instalacji użytkownika.
Podsumowanie
| Cypress (2019-2020) | Playwright (dziś) |
|---|---|
| Długo tylko Chromium | Chromium + Firefox + WebKit out of the box |
cypress run --browser |
playwright test --project= |
Kod z epoki Cypress pod Conduit:
https://github.com/12masta/react-redux-realworld-example-app/tree/6-cypress
https://github.com/12masta/react-redux-realworld-example-app/pull/7/filesNastępny odcinek: Wizualna regresja wbudowana w Playwright.
