[{"data":1,"prerenderedAt":596},["ShallowReactive",2],{"tool-playwright-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":13,"about":21,"sources":28,"cover":50,"og":51,"expertise":52,"locales":53,"lang":56,"title":57,"description":58,"coverAlt":59,"url":24,"pricing":60,"kind":10,"metaTitle":61,"takeaways":62,"faq":68,"toc":81,"blocks":106,"others":367},"playwright","2026-05-27",10,"web",[9,10,11,12],"End-to-end testing","Browser automation","MCP","Cross-browser",[4,14,15,16,17,18,19,20],"playwright vs selenium","playwright mcp","browser automation testing","playwright test runner","playwright for ai agents","playwright vs cypress","playwright cloud pricing",[22,25],{"name":23,"url":24},"Playwright","https:\u002F\u002Fplaywright.dev",{"name":26,"url":27},"Model Context Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_Context_Protocol",[29,32,35,38,41,44,47],{"title":30,"url":31},"Playwright documentation: installation","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fintro",{"title":33,"url":34},"Playwright MCP introduction","https:\u002F\u002Fplaywright.dev\u002Fmcp\u002Fintroduction",{"title":36,"url":37},"Playwright CLI introduction","https:\u002F\u002Fplaywright.dev\u002Fagent-cli\u002Fintroduction",{"title":39,"url":40},"Playwright Test agents","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Ftest-agents",{"title":42,"url":43},"npm package metadata for @playwright\u002Ftest","https:\u002F\u002Fregistry.npmjs.org\u002F@playwright\u002Ftest\u002Flatest",{"title":45,"url":46},"Microsoft Learn: Playwright Workspaces free trial","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fapp-testing\u002Fplaywright-workspaces\u002Fhow-to-try-playwright-workspaces-free",{"title":48,"url":49},"Azure App Testing pricing","https:\u002F\u002Fazure.microsoft.com\u002Fen-us\u002Fpricing\u002Fdetails\u002Fapp-testing\u002F","\u002Fimages\u002Fblog\u002Fplaywright\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fplaywright\u002Fog.jpg","ai-engineer",[54,55,56],"en","de","hu","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.","Playwright-tesztfutás: spec fájl, három böngészőmotorra bontó futtató és accessibility snapshotokat olvasó agent.","Apache-2.0 · cloud paid","Playwright-teszt: tesztek, szkriptek, agentek · Balázs Csorba",[63,64,65,66,67],"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.",[69,72,75,78],{"q":70,"a":71},"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.",{"q":73,"a":74},"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.",{"q":76,"a":77},"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.",{"q":79,"a":80},"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.",[82,85,88,91,94,97,100,103],{"id":83,"title":84},"what-it-is","Mi ez",{"id":86,"title":87},"how-it-works","Hogyan működik",{"id":89,"title":90},"getting-started","Első lépések",{"id":92,"title":93},"ai-agents","Agentek a kormánynál",{"id":95,"title":96},"pricing","Árazás",{"id":98,"title":99},"where-it-shingles","Hol nyikorog",{"id":101,"title":102},"verdict","Ítélet",{"id":104,"title":105},"sources","Források",[107,111,119,122,125,143,144,147,156,159,160,175,177,180,194,195,198,200,218,221,224,234,235,238,248,251,252,255,311,314,315,318,331,335,336],{"type":108,"content":109},"paragraph",[110],"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.",{"type":108,"content":112},[113,114,118],"A Seleniummel, a Cyressszel és a Puppeteerrel versenyez, és egyre inkább a kézzel írt scraping- és QA-szkriptekkel, mert ugyanaz a ",{"tag":115,"children":116},"code",[117],"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.",{"type":120,"level":121,"id":83,"text":84},"heading",2,{"type":108,"content":123},[124],"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.",{"type":126,"ordered":127,"items":128},"list",false,[129,131,133,135,137,139,141],[130],"Apache-2.0 fizetős kiadás nélkül; az npm-csomag Node 20-as vagy újabb verziót ír elő.",[132],"Egy API négy nyelven: JavaScript és TypeScript, Python, Java és .NET.",[134],"Tesztfuttató auto-waitinggel, web-first assertionökkel, fixture-ökkel, párhuzamos projektekkel, shardinggal, újrapróbálással és HTML-jelentéssel.",[136],"A böngészőkontextusok minden tesztnek friss profilt adnak, így a belépési állapot fixture, nem megosztott globális.",[138],"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.",[140],"Kiadásonként hivatalos kontenerképek, amelyek miatt a CI böngészői megegyeznek a helyiekkel.",[142],"Három agent-felület: MCP-szerver, installálható skillökkel rendelkező CLI, valamint planner, generator és healer teszt-agentek.",{"type":120,"level":121,"id":86,"text":87},{"type":108,"content":145},[146],"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.",{"type":148,"attrs":149,"inner":153,"caption":154},"diagram",{"viewBox":150,"role":151,"aria-labelledby":152},"0 0 720 320","img","pw-t pw-d","\u003Ctitle id=\"pw-t\">Playwright-tesztfutás\u003C\u002Ftitle>\u003Cdesc id=\"pw-d\">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.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">Playwright-tesztfutás\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">egy API\u003C\u002Ftext>\u003Crect x=\"20\" y=\"70\" width=\"116\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"78\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Spec\u003C\u002Ftext>\u003Ctext x=\"78\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">lokátorok\u003C\u002Ftext>\u003Cpath d=\"M136 102 H148\" class=\"d-line\" \u002F>\u003Cpath d=\"M156 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"156\" y=\"70\" width=\"116\" height=\"64\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"214\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Futtató\u003C\u002Ftext>\u003Ctext x=\"214\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">sharding\u003C\u002Ftext>\u003Cpath d=\"M272 102 H284\" class=\"d-line\" \u002F>\u003Cpath d=\"M292 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"292\" y=\"70\" width=\"116\" height=\"64\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"350\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Böngésző\u003C\u002Ftext>\u003Ctext x=\"350\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">3 motor\u003C\u002Ftext>\u003Cpath d=\"M408 102 H420\" class=\"d-line\" \u002F>\u003Cpath d=\"M428 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"428\" y=\"70\" width=\"116\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"486\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Oldal\u003C\u002Ftext>\u003Ctext x=\"486\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">auto-wait\u003C\u002Ftext>\u003Cpath d=\"M544 102 H556\" class=\"d-line\" \u002F>\u003Cpath d=\"M564 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"564\" y=\"70\" width=\"116\" height=\"64\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"622\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Jelentés\u003C\u002Ftext>\u003Ctext x=\"622\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">trace-ek\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"172\" class=\"d-label\">A FUTÁS KÖRÜL\u003C\u002Ftext>\u003Cpath d=\"M214 216 V146\" class=\"d-line d-dash\" \u002F>\u003Cpath d=\"M214 138 l-5 9 h10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M368 216 V146\" class=\"d-line d-dash\" \u002F>\u003Cpath d=\"M368 138 l-5 9 h10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M546 216 V146\" class=\"d-line d-dash\" \u002F>\u003Cpath d=\"M546 138 l-5 9 h10 z\" class=\"d-head\" \u002F>\u003Crect x=\"134\" y=\"216\" width=\"160\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"214\" y=\"244\" text-anchor=\"middle\" class=\"d-text\">Kontextusok\u003C\u002Ftext>\u003Ctext x=\"214\" y=\"265\" text-anchor=\"middle\" class=\"d-small\">friss profil\u003C\u002Ftext>\u003Crect x=\"288\" y=\"216\" width=\"160\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"368\" y=\"244\" text-anchor=\"middle\" class=\"d-text\">Snapshotok\u003C\u002Ftext>\u003Ctext x=\"368\" y=\"265\" text-anchor=\"middle\" class=\"d-small\">a11y ref\u003C\u002Ftext>\u003Crect x=\"446\" y=\"216\" width=\"200\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"546\" y=\"244\" text-anchor=\"middle\" class=\"d-text\">Agentek\u003C\u002Ftext>\u003Ctext x=\"546\" y=\"265\" text-anchor=\"middle\" class=\"d-small\">MCP, CLI\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"306\" text-anchor=\"middle\" class=\"d-label\">Ugyanaz a meghajtó szolgálja ki a tesztet, a szkriptet és az agentet\u003C\u002Ftext>",[155],"Egy meghajtó, három motor, és ugyanaz a page API a CI-beli teszthez, az éjszakai szkripthez és az agenthez.",{"type":108,"content":157},[158],"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.",{"type":120,"level":121,"id":89,"text":90},{"type":108,"content":161},[162,163,166,167,170,171,174],"Egy scaffold, egy install, egy futás: a ",{"tag":115,"children":164},[165],"npm init playwright@latest"," megírja a konfigurációt és az első spect, az ",{"tag":115,"children":168},[169],"npx playwright install --with-deps"," letölti a rögzített böngésző-binárokat a rendszerkönyvtárakkal, a ",{"tag":115,"children":172},[173],"npx playwright test"," pedig fej nélkül és párhuzamosan fut mindhárom motoron.",{"type":115,"code":176},"import { test, expect, devices } from '@playwright\u002Ftest';\n\ntest('order confirmation shows a number', async ({ page }) => {\n  await page.goto('\u002Fcheckout');\n  await page.getByLabel('Email').fill('qa@example.com');\n  await page.getByRole('button', { name: 'Place order' }).click();\n  await expect(page.getByRole('status')).toContainText(\u002FOrder WS-\\d+\u002F);\n});\n\ntest.describe('phone', () => {\n  test.use({ ...devices['iPhone 15'] });\n  test('checkout renders on a phone viewport', async ({ page }) => {\n    await page.goto('\u002Fcheckout');\n    await expect(page.getByRole('heading', { name: 'Checkout' })).toBeVisible();\n  });\n});",{"type":108,"content":178},[179],"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.",{"type":181,"variant":182,"title":183,"body":184},"callout","tip","Verziófegyelem",[185],[186,187,190,191,193],"A böngészők a kiadáshoz vannak rögzítve, az ",{"tag":115,"children":188},[189],"@playwright\u002Ftest"," frissítése ezért újra az ",{"tag":115,"children":192},[169]," 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.",{"type":120,"level":121,"id":92,"text":93},{"type":108,"content":196},[197],"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.",{"type":115,"code":199},"# MCP server: structured tool calls, accessibility snapshots with element refs\n{\n  \"mcpServers\": {\n    \"playwright\": { \"command\": \"npx\", \"args\": [\"@playwright\u002Fmcp@latest\"] }\n  }\n}\n\n# CLI: shell commands for a coding agent, headless by default\nnpm install -g @playwright\u002Fcli\nplaywright-cli open https:\u002F\u002Fexample.com\nplaywright-cli snapshot\nplaywright-cli click e5\n\n# Test agents: planner, generator and healer, installed into the repo\nnpx playwright init-agents --loop=vscode",{"type":126,"ordered":127,"items":201},[202,208,210,216],[203,204,207],"Az MCP-szerver accessibility snapshotokat ad vissza: minden elem olyan reft kap, mint az ",{"tag":115,"children":205},[206],"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.",[209],"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.",[211,212,215],"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 ",{"tag":115,"children":213},[214],"npx playwright init-agents"," a VS Code, a Claude Code, a Codex és az OpenCode definícióit telepíti.",[217],"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.",{"type":108,"content":219},[220],"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.",{"type":108,"content":222},[223],"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.",{"type":181,"variant":225,"title":226,"body":227},"warn","Az egyik eszköz távoli kódvégrehajtás",[228],[229,230,233],"Az MCP-szerver a ",{"tag":115,"children":231},[232],"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.",{"type":120,"level":121,"id":95,"text":96},{"type":108,"content":236},[237],"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.",{"type":126,"ordered":127,"items":239},[240,242,244,246],[241],"Keretrendszer: ingyenes Apache-2.0 alatt, korlátlan projekt és teszt, megújítandó licenc nélkül.",[243],"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.",[245],"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.",[247],"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.",{"type":108,"content":249},[250],"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.",{"type":120,"level":121,"id":98,"text":99},{"type":108,"content":253},[254],"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.",{"type":256,"head":257,"rows":265},"table",[258,260,261,263],[259],"",[23],[262],"Selenium",[264],"Cypress",[266,275,284,293,302],[267,269,271,273],[268],"Meghajtó",[270],"Saját protokoll böngészőnként",[272],"W3C WebDriver",[274],"Az oldalba szúrt proxy",[276,278,280,282],[277],"Böngészők",[279],"Chromium, Firefox, WebKit",[281],"Bármely WebDriver-böngésző",[283],"Chrome, Firefox, Edge, Electron",[285,287,289,291],[286],"Futtató",[288],"Beépített: párhuzamosság, sharding, trace",[290],"Önállóan kell vinni",[292],"Beépített, sharding pluginekkel",[294,296,298,300],[295],"Agent-felületek",[297],"MCP, CLI és teszt-agentek",[299],"Közösségi MCP-szerverek",[301],"Közösségi pluginek",[303,305,307,309],[304],"Legjobb illik",[306],"Új suite-ok és agent vezérelt munka",[308],"Régi stack-ek és vendor grid-ek",[310],"Komponensközpontú front-end csapatok",{"type":108,"content":312},[313],"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.",{"type":120,"level":121,"id":101,"text":102},{"type":108,"content":316},[317],"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.",{"type":126,"ordered":319,"items":320},true,[321,323,325,327,329],[322],"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.",[324],"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.",[326],"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.",[328],"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.",[330],"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.",{"type":332,"content":333},"quote",[334],"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.",{"type":120,"level":121,"id":104,"text":105},{"type":126,"ordered":319,"items":337},[338,343,347,351,355,359,363],[339],{"tag":340,"href":31,"children":341},"a",[342],"Playwright-dokumentáció: telepítés",[344],{"tag":340,"href":34,"children":345},[346],"Playwright MCP: bevezető",[348],{"tag":340,"href":37,"children":349},[350],"Playwright CLI: bevezető",[352],{"tag":340,"href":40,"children":353},[354],"Playwright teszt-agentek",[356],{"tag":340,"href":43,"children":357},[358],"npm csomagmetaadatok az @playwright\u002Ftesthez",[360],{"tag":340,"href":46,"children":361},[362],"Microsoft Learn: Playwright Workspaces próbaidő",[364],{"tag":340,"href":49,"children":365},[366],"Azure App Testing: díjszabás",[368,423,477,531],{"slug":369,"published":370,"minutes":6,"category":7,"tags":371,"keywords":374,"about":382,"sources":386,"cover":416,"og":417,"expertise":52,"locales":418,"lang":56,"title":419,"description":420,"coverAlt":421,"url":385,"pricing":422,"kind":10},"browserbase-stagehand","2026-09-30",[10,372,373,23,11],"Web agents","Headless browsers",[375,376,377,378,379,380,381],"browserbase","stagehand","stagehand vs playwright","browserbase pricing","ai web agent framework","headless browser api","browserbase alternatives",[383],{"name":384,"url":385},"Browserbase","https:\u002F\u002Fwww.browserbase.com",[387,390,393,396,399,402,405,408,411,414],{"title":388,"url":389},"Browserbase pricing","https:\u002F\u002Fwww.browserbase.com\u002Fpricing",{"title":391,"url":392},"Browserbase plans and pricing docs","https:\u002F\u002Fdocs.browserbase.com\u002Fguides\u002Fplans-and-pricing",{"title":394,"url":395},"Stagehand documentation","https:\u002F\u002Fdocs.stagehand.dev\u002F",{"title":397,"url":398},"Stagehand quickstart","https:\u002F\u002Fdocs.stagehand.dev\u002Fv4\u002Ffirst-steps\u002Fquickstart",{"title":400,"url":401},"Stagehand v4 announcement","https:\u002F\u002Fwww.browserbase.com\u002Fblog\u002Fstagehand-v4",{"title":403,"url":404},"Stagehand repository","https:\u002F\u002Fgithub.com\u002Fbrowserbase\u002Fstagehand",{"title":406,"url":407},"Browser Use comparison of the two vendors","https:\u002F\u002Fbrowser-use.com\u002Fposts\u002Fbrowser-use-vs-browserbase",{"title":409,"url":410},"Browser Use pricing","https:\u002F\u002Fwww.browser-use.com\u002Fpricing",{"title":412,"url":413},"Skyvern pricing","https:\u002F\u002Fskyvern.com\u002Fpricing",{"title":23,"url":415},"https:\u002F\u002Fplaywright.dev\u002F","\u002Fimages\u002Fblog\u002Fbrowserbase-stagehand\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fbrowserbase-stagehand\u002Fog.jpg",[54,55,56],"A Browserbase és a Stagehand értékelése: bérelt Chrome AI-agentekhez","A Browserbase percenként ad kezelt Chromot, a Stagehand pedig természetes nyelvű lépésekkel épül rá. Mennyibe kerül, hol futnak a méterek, és mikor nyer a sima Playwright.","Absztrakt pipeline-grafika a Browserbase és a Stagehand értékeléséhez","From $20 per month · OSS library free",{"slug":424,"published":370,"minutes":425,"category":7,"tags":426,"keywords":431,"about":438,"sources":444,"cover":468,"og":469,"expertise":52,"locales":470,"lang":56,"title":471,"description":472,"coverAlt":473,"url":474,"pricing":475,"kind":476},"webmcp",11,[427,428,429,430,11],"WebMCP","Agent tools","JSON Schema","Chrome",[424,432,433,434,435,436,437],"webmcp vs mcp","document.modelContext registerTool","webmcp declarative api","browser agent tools","webmcp origin trial","webmcp chrome 149",[439,441,442],{"name":427,"url":440},"https:\u002F\u002Fgithub.com\u002Fwebmachinelearning\u002Fwebmcp",{"name":26,"url":27},{"name":429,"url":443},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FJSON_Schema",[445,448,451,454,457,460,463,465],{"title":446,"url":447},"Chrome for Developers: WebMCP (get started)","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp",{"title":449,"url":450},"Chrome for Developers: Imperative API","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fimperative-api",{"title":452,"url":453},"Chrome for Developers: Declarative API","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fdeclarative-api",{"title":455,"url":456},"Chrome for Developers: WebMCP versus MCP","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fcompare-mcp",{"title":458,"url":459},"Chrome for Developers: WebMCP tool security","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fsecure-tools",{"title":461,"url":462},"Chrome for Developers: Build effective tools","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fbuild-tools",{"title":464,"url":440},"WebMCP explainer and specification draft",{"title":466,"url":467},"WebMCP implementation status","https:\u002F\u002Fgithub.com\u002Fwebmachinelearning\u002Fwebmcp\u002Fblob\u002Fmain\u002Fimplementation-status.md","\u002Fimages\u002Fblog\u002Fwebmcp\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fwebmcp\u002Fog.jpg",[54,55,56],"WebMCP: eszközöket publikálni pixelek helyett","A WebMCP lehetővé teszi, hogy egy oldal tipizált, hívható eszközöket adjon át a böngészőben futó ügynöknek. Mit tesz a szabvány, mennyi érhető el belőle ma, és mikor marad jobb egy MCP-szerver.","Egy oldal tipizált eszközöket regisztrál a böngészőben, egy böngészőügynök meghívja az egyiket, és az eszköz az oldalon belül futva frissíti a felületét.","https:\u002F\u002Fgithub.com\u002Fwebmcp","Emerging standard, open","Browser protocol",{"slug":478,"published":5,"minutes":6,"category":7,"tags":479,"keywords":484,"about":491,"sources":498,"cover":522,"og":523,"expertise":52,"locales":524,"lang":56,"title":525,"description":526,"coverAlt":527,"url":528,"pricing":529,"kind":530},"elevenlabs",[480,481,482,483],"Text to speech","Voice API","Speech to text","Voice cloning",[478,485,486,487,488,489,490],"elevenlabs api pricing","elevenlabs vs openai tts","text to speech api comparison","elevenlabs flash latency","voice cloning api","eleven v4 model",[492,495],{"name":493,"url":494},"ElevenLabs","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FElevenLabs",{"name":496,"url":497},"Speech synthesis","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSpeech_synthesis",[499,502,505,508,511,513,516,519],{"title":500,"url":501},"ElevenLabs pricing: plans and credits","https:\u002F\u002Felevenlabs.io\u002Fpricing",{"title":503,"url":504},"ElevenAPI pricing: per-product rates","https:\u002F\u002Felevenlabs.io\u002Fpricing\u002Fapi",{"title":506,"url":507},"ElevenLabs documentation: models","https:\u002F\u002Felevenlabs.io\u002Fdocs\u002Fmodels",{"title":509,"url":510},"API reference: create speech","https:\u002F\u002Felevenlabs.io\u002Fdocs\u002Fapi-reference\u002Ftext-to-speech\u002Fconvert",{"title":512,"url":494},"Wikipedia: ElevenLabs",{"title":514,"url":515},"Amazon Polly pricing","https:\u002F\u002Faws.amazon.com\u002Fpolly\u002Fpricing\u002F",{"title":517,"url":518},"OpenAI API pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fpricing",{"title":520,"url":521},"SILMA AI: text to speech price comparison, August 2026","https:\u002F\u002Fsilma.ai\u002Fblog\u002Ftext-to-speech-price-comparison-august-2026","\u002Fimages\u002Fblog\u002Felevenlabs\u002Fcover.webp","\u002Fimages\u002Fblog\u002Felevenlabs\u002Fog.jpg",[54,55,56],"ElevenLabs: beszédszintézis API-ként","Az ElevenLabs audió-API értékelése: modellpaletta, késleltetési adatok, kredit- és karakteralapú árazás, tarifához kötött formátumok, és hol nyer az OpenAI és az Amazon Polly.","ElevenLabs borítógrafika beszéd-API pipeline feliratokkal","https:\u002F\u002Felevenlabs.io","Free tier · from $5 per month","Voice and audio API",{"slug":532,"published":533,"minutes":6,"category":7,"tags":534,"keywords":540,"about":549,"sources":556,"cover":587,"og":588,"expertise":52,"locales":589,"lang":56,"title":590,"description":591,"coverAlt":592,"url":593,"pricing":594,"kind":595},"replicate","2026-05-22",[535,536,537,538,539],"Model hosting","Serverless GPU","Diffusion","Async jobs","Webhooks",[541,542,543,544,545,546,547,548],"replicate api","replicate vs fal.ai","serverless gpu inference pricing","replicate webhooks","replicate cold start","replicate vs baseten","how to run an open source model in production","replicate prediction api",[550,553],{"name":551,"url":552},"Replicate","https:\u002F\u002Freplicate.com\u002Fdocs",{"name":554,"url":555},"Serverless computing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FServerless_computing",[557,560,563,566,569,572,575,578,581,584],{"title":558,"url":559},"Replicate pricing","https:\u002F\u002Freplicate.com\u002Fpricing",{"title":561,"url":562},"Replicate docs: About predictions","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fpredictions",{"title":564,"url":565},"Replicate docs: Create a prediction","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fpredictions\u002Fcreate-a-prediction",{"title":567,"url":568},"Replicate docs: Prediction lifecycle","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fpredictions\u002Flifecycle",{"title":570,"url":571},"Replicate docs: Rate limits","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fpredictions\u002Frate-limits",{"title":573,"url":574},"Replicate docs: Data retention","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fpredictions\u002Fdata-retention",{"title":576,"url":577},"Replicate docs: Verify webhooks","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fwebhooks\u002Fverify-webhook",{"title":579,"url":580},"Replicate docs: Official models","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fmodels\u002Fofficial-models",{"title":582,"url":583},"fal.ai pricing","https:\u002F\u002Ffal.ai\u002Fpricing",{"title":585,"url":586},"Baseten pricing","https:\u002F\u002Fwww.baseten.co\u002Fpricing\u002F","\u002Fimages\u002Fblog\u002Freplicate\u002Fcover.webp","\u002Fimages\u002Fblog\u002Freplicate\u002Fog.jpg",[54,55,56],"Replicate teszt: modell-API másodpercenkénti árazással, az élekkel együtt","A Replicate több ezer nyílt modellt tesz egyetlen predikciós API mögé, és a számítási idő másodpercével számol. Teszt a cold bootokról, verziódriftről és az egy órás törlésről.","A kérés a starting és a processing állapoton át négy végállapot egyikébe vezet: succeeded, failed, canceled vagy aborted.","https:\u002F\u002Freplicate.com","Pay per second of compute","Model hosting API",1791383550346]