Web App Testing
Web app testing in mid-2026 is a four-way framework fight with real cost deltas. Playwright (Microsoft, MIT, v1.61.1) leads npm at ~42M weekly downloads (@playwright/test package), ships Chromium/Firefox/WebKit support, auto-waiting, and free built-in test sharding for CI. Cypress (Cypress.io, MIT core runner, v15.18.1) trails at ~6.5M weekly downloads; its runner is free but parallel CI execution needs Cypress Cloud — Starter free (500 results/mo), Team $67/mo ($799/yr), Business $267/mo ($3,199/yr). Selenium (Apache 2.0, Software Freedom Conservancy, v4.46, released July 11 2026) sits near ~1.4M weekly npm downloads for its JS binding but is the only W3C WebDriver standard with Java/Python/C#/Ruby bindings; its WebDriver BiDi protocol now covers roughly 70% of Chrome DevTools Protocol's surface. TestComplete (SmartBear, proprietary) runs roughly $6,499/year per seat for its Pro tier (which bundles one TestExecute CI license), plus about $675/year per additional TestExecute CI runner license — a cheaper Base tier without CI execution is also sold, and exact current pricing needs a SmartBear quote.
Pick Playwright if your team ships TypeScript/JS and wants free parallel CI runs without a dashboard subscription — it's outgrown Cypress roughly 6.5-to-1 on downloads for a reason. Pick Cypress only for component/dev-centric front-end suites where you're fine paying $67-267/mo once you need Cloud parallelization; even Cypress's own docs push cross-origin and multi-tab flows toward Playwright. Skip Selenium unless you're locked into a Java/C#/Python legacy suite or need Grid at massive scale — its BiDi rewrite, started in Selenium 4.0 back in 2021, is still not at full CDP parity in 4.46. TestComplete suits enterprises with existing SmartBear contracts and hybrid desktop+web apps, not greenfield JS teams — thousands of dollars a seat per year (quote-based) is a hard sell against three free alternatives. Known weakness: Selenium's own project blog acknowledges the WebDriver BiDi migration announced with Selenium 4.0 in 2021 is still incomplete as of 4.46 (July 2026) — core BiDi classes remain marked beta and CDP-only fallbacks are still required for full feature parity, and no single framework here wins on every axis: Playwright has no legacy-language bindings, Cypress can't do true