Episode ini mengupas sejarah lahirnya Playwright dari tim Microsoft, keunggulan intinya seperti cross-browser support dan auto-waiting, perbandingan dengan Selenium, Cypress, dan Puppeteer, serta berbagai use case nyata end-to-end testing dan browser automation.

Episode 0 sudah memastikan environment kalian siap. Sekarang saatnya memahami mengapa Playwright ada. Episode 1 ini menjawab tiga pertanyaan besar: dari mana Playwright berasal, apa keunggulan intinya, dan mengapa kalian — sebagai engineer yang ingin membangun end-to-end testing — memilihnya dibanding alat lain.
Banyak orang mulai memakai Playwright karena tutorial, padahal memahami latar belakangnya jauh lebih berharga. Dengan tahu masalah yang diselesaikan dan posisinya di antara Selenium, Cypress, dan Puppeteer, kalian akan lebih mudah memutuskan kapan memakai Playwright, kapan tidak, dan bagaimana memposisikannya dalam strategi testing tim. Mari kita mulai dari awal cerita.
Di akhir episode ini, kalian akan memiliki kerangka evaluasi yang jelas untuk memilih framework browser automation — bukan sekadar ikut tren. Ini modal penting sebelum masuk ke pembahasan arsitektur di episode 2.
Playwright dikembangkan oleh tim Microsoft dan dirilis awal pada tahun 2020. Tim ini bukan orang baru di dunia browser automation — sebelumnya mereka mengerjakan Puppeteer, library automation untuk Chromium yang sangat populer di ekosistem Node.js.
Dari pengalaman tersebut, mereka melihat keterbatasan: Puppeteer hanya mendukung Chromium, sementara pengguna web tersebar di banyak browser. Playwright lahir sebagai jawaban — sebuah framework yang memakai protokol modern seperti Chrome DevTools Protocol (CDP) dan WebDriver BiDi untuk mengontrol Chromium, Firefox, dan WebKit sekaligus dengan satu API yang konsisten.
Sejak rilis awalnya, Playwright berkembang cepat. Rilis stabil 1.0 tiba pada tahun 2021, dan sejak saat itu ekosistemnya tumbuh pesat: ekstensi VS Code resmi, HTML report bawaan, trace viewer, hingga dukungan test paralel yang mumpuni. Per 2026, Playwright menjadi salah satu framework end-to-end testing paling banyak dipakai, dengan repository microsoft/playwright di GitHub mencatat lebih dari 70.000 stars.
npx playwright --versionPerintah npx playwright --version menampilkan versi yang terpasang. Playwright melakukan rilis reguler beberapa kali dalam setahun, jadi kebiasaan mengecek versi membantu kalian mengetahui fitur baru yang tersedia. Untuk memperbarui ke versi terbaru, jalankan:
npm install -D @playwright/test@latest
npx playwright installPlaywright mendukung Chromium, Firefox, dan WebKit dengan API yang sama. Ini berbeda dari pendekatan lama yang mewajibkan driver terpisah per browser. Satu baris konfigurasi sudah cukup untuk menjalankan test di tiga engine sekaligus, sehingga kalian bisa menangkap bug yang hanya muncul di salah satu browser.
Ini mungkin fitur paling berpengaruh terhadap stabilitas test. Secara bawaan, Playwright menunggu otomatis sebelum menjalankan aksi — menunggu elemen visible, enabled, dan stable sebelum klik, dan menunggu response sebelum assertion. Efeknya: test kalian jarang gagal karena timing, salah satu penyebab terbesar flaky tests di framework lain. Detail mekanisme ini akan kita bedah di episode 5.
Playwright menyediakan API modern yang memakai locator — bukan selector string mentah. Semua operasi seperti klik, isi form, drag-and-drop, dan file upload menjadi ekspresif dan mudah dibaca. Ditambah fitur bawaan seperti codegen, trace viewer, dan test runner yang terintegrasi, satu tool sudah mencakup hampir seluruh kebutuhan.
Selain API inti, Playwright membawa test runner sendiri, HTML reporter, trace viewer untuk inspeksi langkah per langkah, codegen untuk merekam aksi menjadi kode, serta integrasi CI resmi untuk GitHub Actions, GitLab, dan Azure Pipelines. Tidak perlu menyusun tooling dari nol — semuanya sudah menjadi satu kesatuan yang konsisten.
Selenium adalah standar lama yang masih banyak dipakai, terutama untuk kompatibilitas dengan grid multi-browser dan Selenium Grid. Namun Selenium membutuhkan setup WebDriver terpisah per browser, tidak punya auto-waiting bawaan, dan sintaksnya lebih verbose. Untuk project baru, Playwright biasanya jauh lebih cepat disiapkan.
Cypress populer karena pengalaman developer yang nyaman dan approachable. Namun Cypress berjalan di dalam halaman yang diuji, sehingga dukungan multi-tab dan cross-browser lebih terbatas. Playwright berjalan di luar browser sebagai proses terpisah, yang memberinya akses penuh ke network layer, popups, dan multi-context.
Puppeteer adalah pendahulu langsung dari Playwright. Dia sangat baik untuk task automation dan screenshot, tapi hanya mendukung Chromium dan tidak punya test runner terintegrasi. Playwright adalah superset dari pendekatan ini dengan cross-browser dan test runner bawaan.
Tabel berikut merangkum perbandingannya:
| Fitur | Playwright | Selenium | Cypress | Puppeteer |
|---|---|---|---|---|
| Cross-browser | Chromium, Firefox, WebKit | Banyak via WebDriver | Chrome-centric | Chromium only |
| Auto-waiting | Bawaan | Perlu manual | Bawaan | Perlu manual |
| Test runner | Bawaan | Eksternal | Bawaan | Eksternal |
| Multi-tab/context | Mendukung | Mendukung | Terbatas | Mendukung |
| Konfigurasi | Minimal | WebDriver setup | Minimal | Minimal |
Kegunaan paling utama: menguji alur bisnis lengkap — login, checkout, upload, dashboard — persis seperti pengguna nyata. Inilah yang akan menjadi fokus utama series ini, dan kelak kita akan menguji alur nyata seperti checkout e-commerce di episode 20.
Selain testing, Playwright bisa dipakai untuk automation task: scraping halaman, mengisi formulir berulang, mengambil screenshot terjadwal, atau memantau ketersediaan produk. Karena dijalankan sebagai proses Node.js, mudah diintegrasikan ke script dan cron.
Dengan kemampuan screenshot penuh halaman dan elemen, Playwright menjadi dasar yang baik untuk visual regression — membandingkan tampilan lama dan baru secara otomatis. Kita akan membahasnya mendalam di episode 16.
test runner → browser → context → page → actions → assertionsAlur di atas adalah tulang punggung setiap test Playwright. npx playwright test mengelola test runner, yang meluncurkan browser, membuka context dan page, menjalankan aksi, lalu memverifikasi hasilnya — struktur ini akan kita bedah detail di episode 2.
Tidak semua masalah butuh browser automation. Kenali batasnya agar tidak salah pilih:
Playwright justru bersinar di lapisan paling atas test pyramid: memvalidasi bahwa seluruh komponen — frontend, backend, database — bekerja bersama seperti yang dialami pengguna nyata.
Episode 1 memberi kalian konteks: Playwright lahir pada 2020 dari tim Microsoft yang sebelumnya membangun Puppeteer, berkembang menjadi framework end-to-end terpopuler dengan dukungan Chromium, Firefox, dan WebKit. Keunggulan intinya ada tiga — cross-browser, auto-waiting, dan API yang powerful — dan ia unggul dari Selenium, Cypress, dan Puppeteer dalam beberapa dimensi penting.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya kita akan membahas konsep dasar dan arsitektur Playwright — komponen Browser, BrowserContext, Page, dan Electron, perbedaan test runner Playwright dengan standalone API, test lifecycle, serta struktur project dan konfigurasi dasar. Ini adalah fondasi arsitektural yang akan menemani seluruh series.