> A Playwright a Chromiumot, a Firefoxot és a WebKitet vezéreli egyetlen Apache-2.0-API-ról: tesztfuttató, agentekhez való CLI és MCP-szerver. Mibe kerül, és hol akad el.
>
> Web page: https://balazscsorba.com/hu/blog/playwright · Language: Magyar · Also available in: [English](https://balazscsorba.com/blog/playwright.md) · [Deutsch](https://balazscsorba.com/de/blog/playwright.md)
> Author: Balázs Csorba · Published: 2026-05-27 · Keywords: playwright, playwright vs selenium, playwright mcp, browser automation testing, playwright test runner, playwright for ai agents, playwright vs cypress, playwright cloud pricing

[Blog](https://balazscsorba.com/hu/blog)/Webfejlesztés

# Playwright: egy böngésző-API tesztekhez, szkriptekhez és agentekhez

A Playwright a Chromiumot, a Firefoxot és a WebKitet vezéreli egyetlen Apache-2.0-API-ról: tesztfuttató, agentekhez való CLI és MCP-szerver. Mibe kerül, és hol akad el.

[Balázs Csorba](https://balazscsorba.com/hu/about)·2026\. május 27.·10 perc olvasás

-   End-to-end testing
-   Browser automation
-   MCP
-   Cross-browser

![Sín három függő négyzettel, mindegyikben más kis forma, balra három nyíl ágazik.](https://balazscsorba.com/images/blog/playwright/cover.webp?v=151377326c)

## A lényeg röviden

-   A Playwright Apache-2.0, fizetős kiadás nélkül; a pénz a CI-percekben jelenik meg, illetve opcionálisan a Microsoft Playwright Workspacesben, amely tesztpercenként számláz, másodpercnyi pontossággal, egy 100 perces, 30 napos próbaidő után.
-   Egy API lefedi a Chromiumot, a Firefoxot és a WebKitet Windows, Linux és macOS alatt, natív mobil emulációval az Android Chrome-hoz és a Mobile Safarihoz.
-   Az agent-felületek első féltől származnak: 70+ eszközből álló MCP-szerver accessibility snapshotokkal, takarékos CLI állandó daemonnal, valamint planner, generator és healer teszt-agentek.
-   Az accessibility snapshot a LLM-es döntés: az elemek pixelek helyett refet kapnak, az interakció determinált marad, és nem kell vision modell.
-   A futtató, nem az API okozza a karbantartási költséget: a projektek, a sharding, a trace-ek és az újrapróbálás ingyenes, de nem gondozásmentes.

Ezen az oldalon

1.  [Mi ez](https://balazscsorba.com/#what-it-is)
2.  [Hogyan működik](https://balazscsorba.com/#how-it-works)
3.  [Első lépések](https://balazscsorba.com/#getting-started)
4.  [Agentek a kormánynál](https://balazscsorba.com/#ai-agents)
5.  [Árazás](https://balazscsorba.com/#pricing)
6.  [Hol nyikorog](https://balazscsorba.com/#where-it-shingles)
7.  [Ítélet](https://balazscsorba.com/#verdict)
8.  [Források](https://balazscsorba.com/#sources)

Cikk meghallgatása

0:000:00

A Playwright a Microsoft böngésző-automatizálása, mára pedig egy repóban három termék: egy tesztfuttató, egy szkriptelő könyvtár és egy agent-felület MCP-szerverből és parancssori eszközből. Apache-2.0, nincs fizetős kiadása, és továbbra is a kategória legkényelmesebb API-ja. Ennek az értékelésnek az álláspontja: az új end-to-end munka alapértelmezése — és az agent-felületek az oka, hogy a meglévő suite-ot érdemes újranézni.

A Seleniummel, a Cyressszel és a Puppeteerrel versenyez, és egyre inkább a kézzel írt scraping- és QA-szkriptekkel, mert ugyanaz a `page` objektum szolgálja ki a CI-beli tesztet, az éjszakai riportot és azt az LLM-et, amely accessibility snapshotokon át vezeti a böngészőt. A mag semmilyen része nem igényel modellt: az agent-eszközök ráülnek, és figyelmen kívül hagyhatók — ezért vezetnek be csapatok előbb teszt-eszközként, és csak később fedezik fel az agent-réteget.

## Mi ez

A projekt Chromium-, Firefox- és WebKit-automatizálást szállít Windows, Linux és macOS alatt, helyben vagy CI-ben, fej nélkül vagy láthatóan, natív mobil emulációval az Android Chrome-hoz és a Mobile Safarihoz. A jelenlegi sorozat 1.63, 2026 szeptemberében kiadva, a böngésző-binárok pedig ehhez a kiadáshoz vannak rögzítve.

-   Apache-2.0 fizetős kiadás nélkül; az npm-csomag Node 20-as vagy újabb verziót ír elő.
-   Egy API négy nyelven: JavaScript és TypeScript, Python, Java és .NET.
-   Tesztfuttató auto-waitinggel, web-first assertionökkel, fixture-ökkel, párhuzamos projektekkel, shardinggal, újrapróbálással és HTML-jelentéssel.
-   A böngészőkontextusok minden tesztnek friss profilt adnak, így a belépési állapot fixture, nem megosztott globális.
-   Eszközök a futás köré: codegen, UI mód, trace-nézegető, hálózati mocking, óra-szabályozás és aria snapshotok.
-   Kiadásonként hivatalos kontenerképek, amelyek miatt a CI böngészői megegyeznek a helyiekkel.
-   Három agent-felület: MCP-szerver, installálható skillökkel rendelkező CLI, valamint planner, generator és healer teszt-agentek.

## Hogyan működik

A meghajtó minden böngészővel saját protokollon beszél — patchelt Chromium- és Firefox-buildek, plusz egy patchelt WebKit —, éppen ezért kínálhatja ugyanazt az egy API mindhárom motoron, a legkisebb közös nevező helyett. A lokátorok az akció végrehajtásakor oldódnak fel, minden akció pedig megvárja, hogy az elem működjön; a flaky teszt szokásos javítása így assertion, nem sleep.

![Playwright-tesztfutás Egy spec fájl a futtatóhoz kerül, amely a teszteket böngészőprojektekre teríti. Egy meghajtó a Chromiumot, a Firefoxot és a WebKitet szólítja meg, minden teszt friss böngészőkontextusban fut, a jelentés pedig gyűjti a trace-eket. A snapshotok és az agent-felületek ugyanennek a meghajtónak alá vannak akasztva.](https://balazscsorba.com/images/blog/playwright/diagram-7.webp?v=452582ec45)

Egy meghajtó, három motor, és ugyanaz a page API a CI-beli teszthez, az éjszakai szkripthez és az agenthez.

A meghajtó felett ül a futtató, ahol az érték java része keletkezik: egy konfigurációs fájl deklarálja a projekteket — böngészők, viewportok, hitelesítések —, a teszteket workerok között osztják el, a sharding gépekre bontja őket, és minden hibához tartozik egy lépésenként visszajátszható trace. Ez a trace teszi lehetővé a támogatott diagnózist is, mert strukturált adat, nem egy stack trace képernyőképe.

## Első lépések

Egy scaffold, egy install, egy futás: a `npm init playwright@latest` megírja a konfigurációt és az első spect, az `npx playwright install --with-deps` letölti a rögzített böngésző-binárokat a rendszerkönyvtárakkal, a `npx playwright test` pedig fej nélkül és párhuzamosan fut mindhárom motoron.

```
import { test, expect, devices } from '@playwright/test';

test('order confirmation shows a number', async ({ page }) => {
  await page.goto('/checkout');
  await page.getByLabel('Email').fill('qa@example.com');
  await page.getByRole('button', { name: 'Place order' }).click();
  await expect(page.getByRole('status')).toContainText(/Order WS-\d+/);
});

test.describe('phone', () => {
  test.use({ ...devices['iPhone 15'] });
  test('checkout renders on a phone viewport', async ({ page }) => {
    await page.goto('/checkout');
    await expect(page.getByRole('heading', { name: 'Checkout' })).toBeVisible();
  });
});
```

Ami gyorsan öregszik, nem a futtató, hanem a szelektorok. A projekt saját tanácsa: szerepcímke- és címkelokátorokat előnyben részesíteni, az assertionöket web-first módon tartani, hogy az időkorlátig újra ellenőrizzenek egyszeri mintavétel helyett, és hibánál trace-et nyitni, nem a stackből következtetni.

**Verziófegyelem**

A böngészők a kiadáshoz vannak rögzítve, az `@playwright/test` frissítése ezért újra az `npx playwright install --with-deps` futtatását jelenti: egy 1.62-re épített image nem találja meg a várt binárokat. A csomagot és a böngészőket együtt rögzítse, az agent-definíciókat pedig minden frissítés után generálja újra — a dokumentáció kimondja, hogy minden Playwright-változáskor létre kell őket hozni újra.

## Agentek a kormánynál

Ez az a rész, amely megváltoztatta az eszköz szerepét. A Playwright ma szabványos módja annak, hogy egy nyelvi modell böngészőt vezéreljen, a projekt pedig három utat kínál hozzá, mindet első féltől.

```
# MCP server: structured tool calls, accessibility snapshots with element refs
{
  "mcpServers": {
    "playwright": { "command": "npx", "args": ["@playwright/mcp@latest"] }
  }
}

# CLI: shell commands for a coding agent, headless by default
npm install -g @playwright/cli
playwright-cli open https://example.com
playwright-cli snapshot
playwright-cli click e5

# Test agents: planner, generator and healer, installed into the repo
npx playwright init-agents --loop=vscode
```

-   Az MCP-szerver accessibility snapshotokat ad vissza: minden elem olyan reft kap, mint az `e5`, így a modell referenciára kattint, nem koordinátát tippel, és vision modell sem kell. A dokumentáció 70+ eszközt listáz, hálózati mocking, storage, tracing és videó capability flag-ek mögött.
-   A CLI a takarékos út: tömör kimenet, állandó daemon, hogy a parancsok ne fizessenek böngészőindítást, igény szerint felfedezett skill-ök és a parancsok között állapotot megőrző munkamenetek.
-   A Playwright teszt-agentei — planner, generator és healer — Markdown-teszttervet írnak, abból specet készítenek, a hibás teszteket pedig újrajátszással és az oldal újravizsgálatával javítják; az `npx playwright init-agents` a VS Code, a Claude Code, a Codex és az OpenCode definícióit telepíti.
-   A dokumentáció egyenesen kimondja a cserét: az MCP a specializált agentic hurkokra és a felfedező automatizálásra való, a CLI a nagy kódalapokkal dolgozó coding agentekre, a CLI fej nélkül indul, az MCP pedig látható böngészőt nyit.

A token-gazdaság gyakrabban dönt, mint a funkciók. Egy MCP-kör minden lépésben tool-sémákat és friss snapshottölt a kontextusba; egy CLI-parancs egy YAML-snapshot fájljának útját és egy státuszsor adja vissza. Egy hosszú életű agentnél, amelynek végig kell kattintania egy folyamatot, ez a különbség a kontextusba beférő és a beférni nem akaró munkamenet között.

A képernyőképek megvannak — egy eszközhívás, és a vision mód az egérre teszi a koordinátákat —, de pixelenként fogyasztanak tokent, és pontosan azt az egyértelműséget hozzák vissza, amit a snapshot-döntés eltávolított. Az accessibility fa egy összefoglaló, amire a modell cselekedhet; a képernyőkép bizonyíték, amit értelmeznie kell.

**Az egyik eszköz távoli kódvégrehajtás**

Az MCP-szerver a `browser_run_code_unsafe`\-t kínálja, amely tetszőleges JavaScriptet futtat a Playwright szerverfolyamatában; a dokumentáció RCE-ekvivalensnek nevezi, és csak megbízható klienseknek ajánlja bekapcsolni. A fej nélküli böngésző egy óra eszközhívás nélkül automatikusan bezáródik, a látható nem, a bővítmény-kapcsoló pedig olyan böngészőre csatlakozhat, amelyben élő bejelentkezések vannak — előbb a klienseket határolja el, aztán a böngészőt.

## Árazás

A keretrendszer ingyenes, nincs Pro-kiadás, nincs ülőhelyszám és nincs felhasználási mérés. A költség három helyen jelenik meg: a CI-percek, amelyeket a suite eléget, a fejlesztői idő, amely zölden tartja, és — csak ha felügyelt grid kell — a Microsoft első féltől származó felhője.

-   Keretrendszer: ingyenes Apache-2.0 alatt, korlátlan projekt és teszt, megújítandó licenc nélkül.
-   Playwright Workspaces az Azure App Testingben: használathoz igazodva tesztpercenként, másodpercnyi pontossággal, egy 100 perces, 30 napos próbaidővel; azon túl a workspace átvált a mért csomagra, a közzétett árak pedig régiófüggők.
-   A BrowserStackéhez hasonló külső grid-ek párhuzamos munkamenetenként vagy előfizetéssel számláznak, és csak valódi eszkökhöz, tágabb böngészőmátrixhoz vagy megfelelőséghez kellenek.
-   A legnagyobb tétel sosem a licenc: a flaky tesztek kivizsgálása és a szelektorok gondozása az ismétlődő költség, és egyik csomag sem fedezi.

Mivel a futtató ingyenes, a migrációs kérdés általában időről szól, nem költségvetésről. A meglévő suite áthozása újraírt szelektorokat, fixture-öket és egyedi parancsokat jelent, a megtérülés pedig a második karbantartási hónappal jön, nem az első zöld buildtel.

## Hol nyikorog

A gyengeségek ismertek és nagyrészt elfogadottak. A böngésző-binárok kiadáshoz kötöttek, a frissítés tehát tervezett feladat, amely a CI-image-eket is magával húzza. A futtató szélessége sok felület, mielőtt a csapat bármit is látna a shardingből és a trace-ekből. A WebKit itt patchelt build, nem maga a Safari, így egy Apple-specifikus hiba későn is előbukkannhat. Az CLI- és MCP-réteg pedig elég új, hogy a parancskészletek a minor kiadások között mozduljanak.

Playwright

Selenium

Cypress

Meghajtó

Saját protokoll böngészőnként

W3C WebDriver

Az oldalba szúrt proxy

Böngészők

Chromium, Firefox, WebKit

Bármely WebDriver-böngésző

Chrome, Firefox, Edge, Electron

Futtató

Beépített: párhuzamosság, sharding, trace

Önállóan kell vinni

Beépített, sharding pluginekkel

Agent-felületek

MCP, CLI és teszt-agentek

Közösségi MCP-szerverek

Közösségi pluginek

Legjobb illik

Új suite-ok és agent vezérelt munka

Régi stack-ek és vendor grid-ek

Komponensközpontú front-end csapatok

Az őszinte összehasonlítás a hatókörökről szól, nem a minőségről. A Selenium marad a válasz, ha szerződés vagy eszközhálózat követeli meg; a Cypress kényelmes a már belefektetett csapatoknak; a Puppeteer könyvtár, nem keretrendszer, és a szkript méretéhez való. A Playwright azt állítja, hogy egy eszköri mind a négy munkát — ennek a állításnak a karbantartási ára az a böngészőmátrix, amely most a CI-ben fut.

## Ítélet

A Playwright a böngésző-automatizálás legerősebb alapértelmezése, az érdekes kérdés pedig már nem az, bevezeti-e valaki, hanem hogy három felületéből melyiket kinek teszi ki.

1.  Vigye be új end-to-end munkához. A futtató, a kontextus-izoláció és a trace-nézegető a második hónaptól térül meg — éppen akkor, amikor a vékonyabb eszkörfajta drágább lesz.
2.  Vigye be, ha agentnek kell vezérelnie a böngészőt. A refek és szerepek olcsóbbak és determináltabbak a pixeleknél, és a projekt maga gondozza az MCP- és CLI-utakat, nem a közösségre bízza.
3.  Tervezze be a frissítési ritmust: a néhány hetente új böngésző-binárokat húzó kiadásvonal azt jelenti, hogy a lockfile, az image és a böngészők együtt mozognak, vagy sehogy.
4.  Tartsa meg a Seleniumot, ahol a WebDriver vagy eszközhálózat szerződéses, és ne írja át a zöld Cypress suite-ot csak azért, mert a másik API szebb.
5.  Ne kezelje review-ként a teszt-agenteket. A healer kihagyhat egy tesztet, amelyet töröttnek tart — ésszerű alapértelmezés, de rossz észrevétlenül hagyni.

> A böngésző már nem csak az, amit tesztelnek; az is a felület, amelyet egy agent kezel. Azok az eszközök, amelyek strukturált állapotként mutatják — szerepek, refek, szöveg —, jobban öregszenek, mint amelyek pixeleként.

## Források

1.  [Playwright-dokumentáció: telepítés](https://playwright.dev/docs/intro)
2.  [Playwright MCP: bevezető](https://playwright.dev/mcp/introduction)
3.  [Playwright CLI: bevezető](https://playwright.dev/agent-cli/introduction)
4.  [Playwright teszt-agentek](https://playwright.dev/docs/test-agents)
5.  [npm csomagmetaadatok az @playwright/testhez](https://registry.npmjs.org/@playwright/test/latest)
6.  [Microsoft Learn: Playwright Workspaces próbaidő](https://learn.microsoft.com/en-us/azure/app-testing/playwright-workspaces/how-to-try-playwright-workspaces-free)
7.  [Azure App Testing: díjszabás](https://azure.microsoft.com/en-us/pricing/details/app-testing/)

## Gyakori kérdések

Ingyenes a Playwright használata?

A keretrendszer Apache-2.0, fizetős kiadás nélkül. A költség a CI-percekben és a fejlesztői időben jelenik meg, illetve opcionálisan a Azure App Testingen belüli Microsoft Playwright Workspacesben, amely tesztpercenként, másodpercnyi pontossággal számláz egy 100 perces, 30 napos próbaidő után.

MCP-szervert vagy CLI-t használjon az agent?

A dokumentáció a CLI-t helyezi előrébb a coding agenteknél: a tömör kimenetű shell-parancsok nem töltik tele a kontextust tool-sémákkal és accessibility-fákkal. Az MCP olyan felfedező hurkokra való, ahol az állandó állapot és a strukturált paraméterek számítanak; az MCP látható böngészőt nyit, a CLI alapból fej nélkül fut.

Miben más a Playwright, mint a Selenium?

A Playwright saját protokollokon vezérli a böngészőket, és egy API-t, auto-waitinges, web-first assertionöket kínáló futtatót, valamint verzióhoz kötött böngésző-binárokat szállít. A Selenium W3C WebDriveret beszél, ami akkor számít, ha szerződés vagy vendor grid követeli meg, amúgy ragasztóból többe kerül ugyanaz a folyamat.

Képes a Playwright LLM-mel tesztet generálni és javítani?

Igen, első féltől: az npx playwright init-agents planner-, generator- és healer-definíciókat telepít, amelyek Markdown-teszttervet írnak, abból specet készítenek, és a hibás teszteket az újrajátszással és az oldal újravizsgálatával javítják. A healer a szerinte törött tesztet ki is hagyhatja — ésszerű alapértelmezés, de rossz észrevétlenül hagyni.

Írta: Csorba Balázs

Senior fullstack és AI mérnök Stájerországban – több mint 10 év Vue, Nuxt, Node.js és PHP, ma AI-ügynököknek építek eszközöket.

[AI fejlesztés és MCP szerverek →](https://balazscsorba.com/hu/expertise/ai-engineer)[Rólam →](https://balazscsorba.com/hu/about)

## További cikkek

-   [Schema.org strukturált adatok B2B webshopokhoz: bejelentkezés mögötti árak, egységek és változatok](https://balazscsorba.com/hu/blog/schema-org-structured-data-b2b-shop)
-   [AI-asszisztens a B2B webshop ügyfélszolgálatához: eszközök, jogosultságok és átadás embernek](https://balazscsorba.com/hu/blog/ai-assistant-b2b-shop-customer-support)
-   [AI-csevegő UI Vue-ban és Nuxtban: akadálymentes streaming](https://balazscsorba.com/hu/blog/vue-ai-chat-ui-streaming-accessibility)
-   [LLM-fordítási pipeline i18n-hez: glosszárium, helyőrzők és review](https://balazscsorba.com/hu/blog/llm-translation-pipeline-i18n)

## Pont erre van szükséged?

Írj a projektedről vagy a pozícióról – szívesen hallok felőled.

[Lépj velem kapcsolatba](mailto:contact@balazscsorba.com) [Kapcsolódjunk LinkedInen](https://www.linkedin.com/in/balazs-csorba)
