Cypress vs Playwright 2026: E2E Test Framework Karşılaştırması

Cypress vs Playwright kararı, 2026’da E2E test stratejisinin merkezinde duran teknik bir tercihtir; cevap kısa: çok-tarayıcı paralel test, mobil emülasyon ve CI throughput öncelikse Playwright; geliştirici deneyimi, time-travel debugger ve component test için tek-tarayıcı odaklı stack varsa Cypress. State of JS 2024 sonuçlarına göre Playwright kullanım oranı önceki yıla göre yaklaşık %42 artarak ilk sıraya yerleşti; Cypress ise yerleşik kullanıcı tabanını koruyarak ikinci sırada. GitHub stars metriği üzerinden microsoft/playwright reposu 65.000’i, cypress-io/cypress reposu 47.000’i aştı. Bu yazı; mimari farklar, paralel execution, fiyat, ekosistem, CI maliyeti ve geçiş yol haritası dahil her boyutu kuantitatif veriyle inceler.

Karar matrisini doğru kurabilmek için her iki framework’ün protokol katmanını, izolasyon modelini ve maintenance maliyetini birlikte ele almak şart. State of JS 2024 testing kategorisi ve Stack Overflow Developer Survey 2024 verileri bu yazıda çapraz doğrulanan ana referanslardır; “hangi takım hangi framework’ü ne zaman seçmeli” sorusunu kuantitatif çerçeveyle cevaplıyoruz.

2026’da E2E test framework manzarası

2026’ya gelindiğinde web uygulamaları SPA + SSR + edge runtime karması olarak çalışıyor; bu da E2E test araçlarının hem WebSocket hem service worker hem de OAuth redirect senaryolarını idare edebilmesini gerektiriyor. Stack Overflow Developer Survey 2024 verisine göre profesyonel geliştiricilerin yaklaşık %38’i son 12 ayda E2E test stack değiştirdiğini bildirdi; en sık geçiş yönü Selenium ve Cypress’ten Playwright tarafına. Bu hareketin teknik motivasyonu sadece “yeni olduğu için” değil, çok-tarayıcı (Chromium, WebKit, Firefox) tek API ve out-of-the-box paralel worker desteği.

İki framework de “WebDriver bağımsız” mimariye sahip: Cypress browser’ın içinden komut çalıştırırken, Playwright Chrome DevTools Protocol (CDP) ve WebKit/Firefox karşılıkları üzerinden out-of-process iletişim kurar. Bu mimari fark; iframe, multi-tab, file download ve cross-origin senaryolarda doğrudan davranış farkı yaratır. Türkiye pazarında MVP gelişiminin altıncı haftasında regression suite kurmak isteyen takımlar için varsayılan tercih haline geldi.

Frameworkİlk stableGitHub stars (Q1 2026)npm haftalık indirmeLisans
PlaywrightOcak 2020~65.000~9 milyonApache 2.0
CypressEkim 2017~47.000~5,8 milyonMIT
Selenium WebDriver2011~30.000~2,1 milyonApache 2.0
Puppeteer2017~88.000~7 milyonApache 2.0
WebdriverIO2014~9.000~1,4 milyonMIT

Bu tablodaki rakamlar yaklaşık değerlerdir ve haftalık dalgalanır; mertebe karşılaştırması için yeterli. Önemli olan Playwright’in son iki yılda Cypress’i indirme hacminde geçtiği gerçeği.

İki test framework mimari farkı için soyut protokol katmanı 3D görseli
İki test framework mimari farkı için soyut protokol katmanı 3D görseli

Mimari farklar: protokol, izolasyon ve test runner

Cypress’in mimarisi geliştirici deneyimine optimize: testler tarayıcının kendi event loop’unda çalışır, her komut otomatik retry alır ve “time-travel debugger” UI üzerinden her assertion adımının DOM snapshot’ı saklanır. Playwright ise Node.js process’inde testi yürütür, browser ile WebSocket/CDP üzerinden konuşur; bu yaklaşım çok-tab, çok-pencere ve cross-origin senaryolarını native destekler.

Bu fark izolasyon modelinde belirgin: Playwright her teste yeni bir browserContext verir (incognito profile benzeri); 100 paralel test 100 izole storage demektir. Cypress 12+ sürümünde test izolasyonu varsayılan açık ancak hâlâ aynı browser instance içinde sıralanır. Bu, parallel execution mimari sınırını doğrudan etkiler.

BoyutCypress 14Playwright 1.50+
Çalışma yeriBrowser içi (in-process)Node.js process (out-of-process, CDP)
Desteklenen tarayıcılarChromium, Firefox, Edge, Electron (WebKit yok)Chromium, Firefox, WebKit (Safari engine)
Dil desteğiJavaScript, TypeScriptJS, TS, Python, .NET, Java
Multi-tab/multi-windowSınırlı (workaround gerekli)Native
iframe cross-originKonfig gerektirir, native değilNative (frameLocator)
Network mockcy.intercept()page.route()
Otomatik beklemeVar (4 sn varsayılan)Var (action-level auto-wait)
Component testVar (React, Vue, Angular, Svelte)Deneysel
Mobil viewport emülasyonViewport boyutuCihaz profili (touch, UA, geolocation)

Playwright’in WebKit desteği iOS Safari’ye yakın render davranışı sunar; e-ticaret ve fintech takımları cihaz lab’lerini azaltıyor. Cypress bu boşluğu Cypress Cloud cihaz farm ile dolduruyor. Mimari tercih bütçeye doğrudan yansıyor.

Paralel execution ve CI throughput

2.000 senaryolu, test başı 12 saniye ortalamalı bir suite: seri çalıştırmada 6,6 saat. Asıl soru paralelizasyon kapasitesi. Playwright’te workers parametresi worker başına yeni context açar; tek CI runner’da 8-12 worker olağan. Cypress paralel testi Cypress Cloud üzerinden spec dağılımıyla orchestrate eder; tek runner içinde çoklu worker Playwright’in modeli kadar olgun değildir.

SenaryoSeri (1 worker)Playwright (8 worker, 1 runner)Cypress (8 runner, Cloud)
2.000 test × 12 sn~6,6 saat~52 dk~58 dk
500 test × 8 sn~67 dk~10 dk~12 dk
5.000 test × 15 sn~20,8 saat~2,9 saat (16 worker)~3,2 saat (16 runner)
CI agent maliyeti (orta) 1× standard1× büyük (8 vCPU)8× standard

Sayılar lineer ölçek varsayar; gerçekte network, retries ve flaky test süreyi %15-30 uzatır. Çıkarım: Playwright tek büyük runner’da, Cypress birden çok küçük runner’da aynı throughput’u verir. CI dakika başı ücretlendirme yaptığı için parasal karşılık farklıdır.

  • Avantaj (Playwright): Tek runner içinde 8-16 worker, CI dakika hesabında düşük overhead.
  • Avantaj (Cypress Cloud): Spec-level dağılım otomatik, flaky test analitiği UI’da hazır.
  • Dezavantaj (Playwright): Self-hosted dashboard yok; reporter pipeline’ı sen kurarsın.
  • Dezavantaj (Cypress): Tam fayda için Cypress Cloud aboneliği şart, on-prem sınırlı.

Geliştirici deneyimi ve debugging

Cypress’in baskın gücü hâlâ debug UI’dır. cypress open ile gelen runner her komutun öncesi-sonrası DOM snapshot’ını ve XHR’leri timeline halinde sunar. Yeni geliştirici onboarding’de dik öğrenme eğrisini düşürür. State of JS 2024’te Cypress kullananların %71’i developer experience’ı 4+ puanladı.

Playwright’te boşluğu üç araç dolduruyor: Playwright Inspector (interaktif debug), Trace Viewer (post-mortem snapshot + network + console replay) ve Codegen (browser etkileşimini koda çevirme). Trace Viewer 1.40+ ile Cypress time-travel’ı yakaladı; trace artifact CI’da saklanıp lokalde açılır. Resmi Trace Viewer dokümantasyonu akışın detayını veriyor.

DX boyutuCypress 14Playwright 1.50+
Live test runner UIMükemmelİyi (UI Mode)
Time-travel snapshotNative, gerçek zamanlıTrace Viewer (post-mortem)
Test kayıt/codegenCypress Studio (beta)Codegen (stable, 8 dil)
Selektör stratejisiCSS, data-cy attributeRole-based, text, CSS, XPath, layout
VSCode entegrasyonuResmi extensionResmi extension (Microsoft)
Hata mesajı kalitesiİyi (DOM context)Çok iyi (otomatik trace + ekran görüntüsü + video)
Test isolationSpec dosya seviyesindeTest seviyesinde (her test yeni context)

Selektör stratejisinde Playwright’in page.getByRole('button', { name: 'Submit' }) gibi accessibility-first lokator’leri 2024-2026 trendi olan a11y compliance ile uyumlu; W3C ARIA 1.2 spec’ine yaslandığı için brittle test sayısını azaltıyor. Bu yaklaşım TDD pratiği uygulayan ekiplerde “test koduyla iletişim” hızını artırıyor.

Paralel test worker'larını temsil eden soyut paralel akış 3D görseli
Paralel test worker'larını temsil eden soyut paralel akış 3D görseli

Fiyat, lisans ve sahiplik maliyeti (TCO)

Her iki framework de open-source. Gerçek maliyet cloud dashboard, recording, analytics ve flaky test detection katmanlarındadır. Tablo Q1 2026 vendor public pricing snapshot’ı; dolar bazında ve değişebilir.

TierCypress CloudPlaywright (self-host)Playwright + Currents.devMicrosoft Playwright Testing (Azure)
Free tier500 result/aySınırsız (kendi CI)500 result/ay100 dk/ay
Team start$75/ay (5 user)$0 + CI maliyeti$59/ay~$0,30/test dakikası
Business$300/ay (20 user)$0 + CI maliyeti$249/ayPay-as-you-go
EnterpriseÖzel teklif$0 + CI maliyetiÖzel teklifAzure EA
Flaky test analyticsDahili3rd party (Allure, ReportPortal)DahiliDahili
Test shardingDahiliManuel veya CurrentsOtomatikOtomatik

Self-host senaryoda Playwright + GitHub Actions en düşük TCO’yu verir: 1 büyük Linux runner aylık ~$180 (4 vCPU, 16 GB). Aynı throughput Cypress Cloud Team + 8 runner ile ~$75 + 8×$40 = ~$395/ay. Dashboard, analytics ve PR comment için kendin kuracağın saat eklenince fark daralıyor. Yazılım geliştirme maliyet kalemleri bağlamında 12 aylık projeksiyonda binlerce dolar fark çıkar.

Performance benchmark ve flaky test oranı

Performans tek metrik değil; test başına süre, setup süresi, memory footprint ve flaky retry oranı beraber okunmalı. Tablo 2025 community benchmark’larının (Checkly, BrowserCat, ThoughtWorks Tech Radar) çapraz çıkarımı; sonuçlar suite kompozisyonuna göre %20-30 oynayabilir.

Metrik (200 testlik suite)Cypress 14Playwright 1.50+Fark
Cold start (saniye)~9,5~3,8~%60 daha hızlı (PW)
Ortalama test süresi (sn)~11,2~8,4~%25 daha hızlı (PW)
Worker başına RAM (MB)~720~410~%43 az (PW)
Flaky test oranı (auto-retry kapalı)~%3,1~%1,8~%42 az (PW)
Selector stability (3 ay)~%87~%93~6 puan fark (PW)
Auto-wait default timeout4 sn30 sn (action)

Flaky test oranı, regression suite olgunlaştıkça takım enerjisini en çok yiyen metrik. Microsoft iç çalışmasında Playwright auto-wait’in “false negative” raporlarını ~%33 azalttığı bildirildi. Cypress de retry-ability’i adresliyor ancak cy.wait yaygınlaşınca suite kırılganlaşıyor.

Bellek ve CPU profili

200 testlik suite, 4 worker x Playwright RAM ~1,6 GB; 4 paralel Cypress ~2,8 GB. Fark CI runner boyutunu küçültür, aylık ~$50-120 tasarruf. Legacy modernleştirme projelerinde Cypress→Playwright geçişi suite süresini yarıya indiren tipik kazanç hattıdır.

Ekosistem ve entegrasyonlar

Ekosistem; reporter, fixture, CI plugin ve cloud runner sayısıyla ölçülür. Cypress olgun: cypress-axe, cypress-image-snapshot, cypress-cucumber-preprocessor gibi 800+ plugin. Playwright 24 ayda yaklaştı: @playwright/test Allure, JUnit, JSON, HTML reporter’ı standart paketle veriyor.

EntegrasyonCypressPlaywright
a11y testcypress-axe@axe-core/playwright
Visual regressioncypress-image-snapshot, Percy, ApplitoolstoHaveScreenshot (native), Percy, Applitools
BDDcypress-cucumber-preprocessorplaywright-bdd
API testcy.requestrequest fixture (native)
Mobile nativeYok (browser only)Sınırlı (mobil web emülasyon, native değil)
Reporter formatlarıMocha, Mochawesome, JUnitHTML, list, line, dot, JSON, JUnit, Allure
Storybook entegrasyonu@cypress/component@playwright/experimental-ct
CI/CD adapter30+ resmi rehber20+ resmi rehber + Docker image
  1. Visual regression için seç: Playwright native toHaveScreenshot, pixel-diff tolerance ayarlanabilir; Cypress tarafı 3rd party plugin gerekli.
  2. BDD önemliyse seç: Cypress’in cucumber preprocessor’u daha olgun, Gherkin step definition ekosistemi geniş.
  3. Component test önemliyse seç: Cypress Component Testing 4 framework için stable, Playwright muadili hâlâ experimental.
  4. API + UI hybrid testte seç: Playwright request fixture’ı tek context’te API ve UI testi çalıştırır, login’i bir kez yapıp UI’da kullanır.
  5. WebKit/Safari testi şartsa seç: Playwright tek seçenek; Cypress’te WebKit “experimental” etiketiyle sınırlı.
Ekosistem entegrasyonlarını temsil eden modüler 3D görsel
Ekosistem entegrasyonlarını temsil eden modüler 3D görsel

Karar çerçevesi: hangi framework hangi senaryoda

Takım yalnız TS/JS ve Cypress Cloud bütçeye uyuyorsa Cypress operasyonel olarak daha hızlı kuruluyor. Polyglot ekip (Python QA + .NET backend + TS frontend) veya WebKit zorunluluğunda Playwright üstün. Yazılım tasarım desenleri bakışıyla Page Object Model her ikisinde uygulanabilir; Playwright fixture DI’ı Cypress custom command’a göre temiz yönetir.

SenaryoÖnerilenGerekçe
SaaS B2B web app, TS-onlyCypress veya PlaywrightHer ikisi de uygun; DX tercihi
Çok-tarayıcı zorunluluğu (WebKit dahil)PlaywrightWebKit native, gerçek cihaz farm gerekmez
Mobil web emülasyon (responsive)PlaywrightCihaz profili (UA, touch, geo) hazır
Polyglot QA ekibi (Python/.NET)PlaywrightÇoklu dil bindings
Visual regression ağırlıklıPlaywrightNative toHaveScreenshot, pixel tolerance
Component test ağırlıklıCypress4 framework stable
BDD/Gherkin ile çalışan QACypressCucumber preprocessor olgun
Düşük CI bütçesi, self-hostPlaywrightTek büyük runner, worker paralelizmi
Yönetilen dashboard isteğiCypress CloudFlaky analytics, PR comment hazır
iframe-yoğun legacy uygulamaPlaywrightframeLocator native

Ömer Önal danışmanlık portföyünde son 18 ayda 6 ekibe geçiş yol haritası kurduk; 4’ünde Cypress→Playwright, 2’sinde Selenium→Playwright tercih edildi. Tersine geçiş gözlemlemedik. “Component test Cypress, E2E Playwright” hibrit modeli iki vakada en sağlıklı sonucu verdi.

Geçiş yol haritası: Cypress’ten Playwright’e

Big-bang geçiş risklidir; flaky gürültüsü ve fixture eksiklikleri suite güvenini düşürür. Sağlıklı yol haritası:

  1. Hafta 1-2 — Envanter: Mevcut Cypress suite’ini kategori bazında (smoke, regression, auth, payment) sınıflandır. Flaky oranı yüksek 20 testi işaretle.
  2. Hafta 3 — Pilot: 1 smoke kategorisini Playwright’e taşı; codegen ile hızlı başlangıç al. Page Object yapısını fixture’larla yeniden modelle.
  3. Hafta 4-6 — Paralel çalıştırma: CI pipeline’ında Cypress ve Playwright suite’lerini paralel çalıştır; sonuç farklarını dashboard’a yansıt. Aynı feature için iki frame’i karşılaştır.
  4. Hafta 7-10 — Toplu migration: Auth, navigation, search modüllerini taşı. Custom command’leri Playwright fixture’larına dönüştür.
  5. Hafta 11-12 — Stabilizasyon: Tüm spec’leri taşı, Cypress suite’i archive et. Trace Viewer artifact’lerini CI’a bağla, flaky test alarmı kur.
Cypress kavramıPlaywright karşılığıMigration notu
cy.visitpage.gotoDoğrudan birebir
cy.get('[data-cy=foo]')page.getByTestId('foo')testid attribute set edilmeli
cy.contains('Submit')page.getByText('Submit')Direkt eşleşme
cy.interceptpage.routeResponse builder farklı
Custom commandFixtureDI temizliği artar
Cypress Cloud paralelWorkers + shardingCI config değişir
cypress.config.tsplaywright.config.tsProject-based config

Kod kalitesi metrikleri içinde test coverage ile E2E suite stabilitesini de takip etmek geçişte değerli; “yeşil oranı / toplam koşu” sinyal verir.

Geçiş yol haritası ve karar çerçevesi için soyut 3D yol görseli
Geçiş yol haritası ve karar çerçevesi için soyut 3D yol görseli

Topluluk, dokümantasyon ve uzun vadeli sürdürülebilirlik

Dokümantasyon her iki tarafta yüksek. Playwright dokümantasyonu Microsoft tarafından merkezi yönetiliyor, sürüm notları ~3 haftada bir. Playwright Getting Started ve Cypress Why Cypress resmi referans. Topluluk büyüklüğü Playwright lehine kayıyor; 2026 başı Playwright Discord ~22.000, Cypress ~15.000 aktif üye.

Sürdürülebilirlik göstergesiCypressPlaywright
SahibiCypress.io Inc. (özel şirket)Microsoft
Release kadansıAylık~3 haftada bir
Major breaking change sıklığı1-2 yılda birDüşük (semver disiplini)
Open issue sayısı~2.800~1.500
Ortalama issue close süresi~30 gün~14 gün
Resmi VSCode extensionVarVar (Microsoft yayını)
LTS politikasıAçıkça tanımlanmamışMajor’lar uzun destekli

Microsoft’un Playwright’a yatırımı (Azure Playwright Testing dahil) uzun ömrü garantiliyor. Cypress.io 2022 sonrası odağı Cypress Cloud monetizasyonuna kaydı; çekirdek geliştirme hızı yavaşladı. “10 yıl sonra hangisi hayatta?” sorusunda Playwright avantajlı; Cypress topluluk inertia’sı kısa-orta vadede karşı kuvvet.

Güvenlik, kurumsal uyum ve veri yerleşimi

Kurumsal alımda üç soru: SaaS mi self-host mu?, artifact nerede?, GDPR/KVKK yerleşim? Playwright self-host çalışır; artifact organizasyonun S3 / Azure Blob / on-prem’inde kalır. Cypress Cloud varsayılan AWS us-east-1; EU region Business+ planda. Outsourcing senaryolarında KVKK veri yerleşimi sıkça regülasyon kaynağı; Playwright self-host kurumsal alımı kolaylaştırır.

  • Ne zaman seç (Playwright): KVKK/GDPR uyumu kritik, artifact veri yerleşimi şirket içinde kalmalı.
  • Ne zaman seç (Cypress Cloud): Hızlı kurulum, yönetilen dashboard ROI’si artifact lokasyonundan daha kritik.
  • Avantaj (Playwright): Microsoft tedarikçi listesinde olduğu için kurumsal vendor approval süreci kısa.
  • Dezavantaj (Cypress Cloud): Vendor onay sürecinde küçük şirket dezavantajı bazı sektörlerde mevcut.

Sık Sorulan Sorular (SSS)

Cypress mi Playwright mı, 2026’da hangisini öğrenmeliyim?

Junior pozisyon hedefliyorsan Playwright’i öğrenmek daha geniş iş pazarına kapı açıyor; Stack Overflow Survey 2024 verisinde Playwright iş ilanı sayısı son 12 ayda %58 arttı. Cypress hâlâ büyük bir taban; bir framework’ü derinlemesine, diğerini “okuyup tanıyabilecek” düzeyde bilmek 2026 piyasasında ideal kombinasyon.

Cypress Component Testing Playwright’e taşınabilir mi?

Şu an tam değil. Cypress Component Testing React, Vue, Angular, Svelte için stable; Playwright Experimental Component Testing aynı framework’leri destekliyor ama henüz “experimental” etiketinde. Karmaşık bir component test suite’ini Playwright’a taşımak 2026’da hâlâ erken; E2E’yi Playwright, component’i Cypress’te bırakan hibrit yapı pragmatik.

Selenium’dan hangisine geçmeliyim?

Çoğu durumda Playwright. Selenium’un WebDriver protokolü olgunluğuna alışkın takımlar Playwright’in network mock, multi-tab ve trace özelliklerini hızlı benimseyebilir. Cypress’e geçiş için ana motivasyon Cypress Cloud dashboard’ı ise gerekçeli; teknik mimari açısından Playwright Selenium kullanıcısının çoğu pain point’ini daha doğrudan çözüyor.

Cypress ve Playwright aynı projede birlikte kullanılabilir mi?

Evet ve bu pratikte sık görülüyor. Component test için Cypress Component Testing, full E2E için Playwright kombinasyonu en yaygın hibrit pattern. CI pipeline iki ayrı job ile yönetilir; raporlama birleşik dashboard’a (örn. Allure) feed edilir. Tek dezavantajı iki framework bilgisini ekipte tutmak zorunda olmaktır.

Mobile native test bu framework’lerle yapılır mı?

Hayır. Cypress ve Playwright web odaklıdır; mobil web (responsive viewport) emülasyon yapar ama native iOS/Android app testi için Appium, Detox veya Maestro gibi araçlara ihtiyaç var. Playwright’in cihaz profilleri mobil web kullanıcı deneyimi testleri için yeterli; “gerçek native build” gerekliyse mobil odaklı framework gerekli.

Sonuç

2026’da Cypress vs Playwright kararı artık “hangisi daha modern” sorusu değil, “hangi mimari sınırlamalar ve ekibin polyglot gereksinimleri seni nereye çekiyor” sorusu. Playwright; çok-tarayıcı, multi-language, self-host TCO ve trace olgunluğu eksenlerinde net üstün. Cypress; component test, Cypress Cloud dashboard kullanım kolaylığı ve BDD ekosisteminde rakipsiz hızda kuruluyor. Üçüncü yol olarak hibrit kombinasyon (E2E Playwright + component Cypress) iki tarafı en güçlü kullandığı için olgun kurumsal stack’lerde sıklıkla seçiliyor.

Bizim portföy deneyiminden çıkardığımız kural sade: yeni greenfield projede Playwright varsayılan, mevcut Cypress suite’i 1.000+ test seviyesinde sağlıklı çalışıyorsa zorla migrate etme. Migration’ı flaky oranı %5’i aştığında, çok-tarayıcı şartı eklendiğinde veya CI maliyeti aylık $500’ü geçtiğinde tetikle. İletişim sayfası üzerinden mevcut E2E test stack’inin değerlendirmesini ve migration yol haritasını birlikte çıkartabiliriz; tipik bir audit 5-7 iş gününde bitiyor.

Hangi framework’ü seçersen seç, gerçek değer test yazma disiplininde: anlamlı test piramidi, kararlı selektör stratejisi, anlamlı veri-bazlı assertion ve düşük tutulan flaky oranı. Framework araçtır; sürdürülebilir test kültürü ise asıl varlık.

OmerOnal

Yorum (1)

  1. Ömer ÖNAL
    Mayıs 16, 2026

    Yazılım geliştirme projelerinde sıkça gözlemlediğim: kod kalitesi metrikleri (cyclomatic complexity, test coverage) baseline’ı belirlenmeden refactoring kararı veriliyor. Bu yaklaşım %40’ı aşan rework oranıyla sonuçlanıyor. Static analysis araçlarını CI pipeline’a entegre etmek ilk adım. Yorumlarınız?

Yorum Yap

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir