Playwright Academy
0 dari 17
Fase 1 · FondasiModul 2 dari 17

Setup Playwright

Cara kerja Playwright, memilih Python atau TypeScript, lalu menyiapkan project.

Playwright adalah alat gratis buatan Microsoft untuk menggerakkan browser lewat kode.

Di dunia QA

Bayangkan rekan tester yang tidak pernah capek. Kamu memberinya test case tertulis, lalu ia menjalankannya di Chrome, Firefox, dan Safari, persis sama setiap kali. Playwright adalah rekan itu, dan test case-nya kamu tulis sebagai kode.

Apa itu Playwright?

FiturArtinya buat kamu
Banyak browserSatu test jalan di Chromium (Chrome, Edge), Firefox, dan WebKit (mesin Safari)
Banyak bahasaTypeScript/JavaScript, Python, Java, dan .NET, dengan konsep yang sama
Auto-waitingPlaywright menunggu elemen siap sebelum beraksi, jadi kamu hampir tidak perlu sleep
Selalu mulai bersihSetiap test dapat browser context baru dalam sepersekian detik
Alat bantu lengkapCodegen (perekam aksi), Inspector, Trace Viewer, UI Mode, HTML report
Bukan hanya UIAPI test, mock respons server, emulasi HP, lokasi GPS, mode gelap

Cara kerjanya

Kode test kamu
Python / TypeScript
Library Playwright
menerjemahkan perintah
Browser
Chromium · Firefox · WebKit

Kodemu memberi perintah, misalnya "klik tombol Masuk". Playwright menerjemahkannya, lalu mengirimnya ke browser lewat sambungan yang selalu terbuka.

Di dunia QA

Mirip QA lead yang membacakan langkah test case lewat telepon ke tester di depan layar. Teleponnya tidak ditutup, jadi tester juga bisa langsung melapor: "pop-up muncul", "halaman error", "tab baru terbuka".

Sambungannya dua arah, jadi Playwright juga mendengar yang terjadi di browser: request ke server, pop-up, tab baru, dan error. Dari situ auto-waiting dan mock respons server bekerja.

Playwright Python membawa mesin Node.js di dalamnya, jadi Python dan TypeScript memakai mesin yang sama. Bedanya hanya gaya penulisan: Python memakai snake_case, TypeScript memakai camelCase.

Playwright dibanding alat lain

PlaywrightSeleniumCypress
BrowserChromium, Firefox, WebKitSemua (lewat driver)Chromium, Firefox, WebKit masih percobaan
BahasaTS/JS, Python, Java, .NETBanyak sekaliJS/TS saja
Auto-waitingBawaanDiatur sendiriBawaan
Banyak tab dan iframeMudahRepotTerbatas
KecepatanSangat cepatSedangCepat
Alat debugTrace Viewer, UI ModeSedikitTime-travel runner

Selenium masih banyak dipakai di perusahaan yang sudah lama berdiri, jadi tetap bagus dikenal. Untuk project baru, Playwright menjadi pilihan banyak tim.

Pilih Python atau TypeScript?

Dua-duanya sama bagus, dan tutorial ini selalu menampilkan keduanya.

PertimbanganPythonTypeScript
Ramah pemulaPaling ramah, tanpa awaitPerlu paham async/await dulu
Test runnerpytest + plugin pytest-playwright@playwright/test, fiturnya paling lengkap
Cocok untuk timData, backend Python, QA yang baru belajar codingFrontend JS/TS, full-stack

Baru pertama belajar coding? Mulai dari Python. Tim developer di kantormu memakai React atau Next.js? Pilih TypeScript, supaya alatnya sama dengan tim.

Menyiapkan project baru dari nol

Langkah ini sudah kamu jalankan di Persiapan. Di sini arti setiap perintahnya, supaya kamu bisa mengulanginya untuk project baru, misalnya di kantor.

Python pakai uv (cepat & modern)TypeScript pakai npm
# 1. Buat folder project baru bernama toko-tests, dengan Python 3.12
uv init --no-package toko-tests --python 3.12
# Masuk ke folder project itu
cd toko-tests

# 2. Tambahkan test runner pytest dan plugin Playwright
uv add pytest pytest-playwright

# 3. Unduh browser (sekali per komputer, ulangi setelah memperbarui Playwright)
uv run playwright install

# 4. Cek versinya
uv run playwright --version
# 1. Wizard resmi: membuat config, contoh test, dan mengunduh browser
npm init playwright@latest toko-tests

# --- atau manual ---
mkdir toko-tests                 # buat folder project
cd toko-tests                    # masuk ke folder itu
npm init -y                      # buat package.json dengan jawaban standar
npm install -D @playwright/test  # install Playwright Test sebagai alat development
npx playwright install           # unduh browser untuk test

# Cek versinya
npx playwright --version

Belum punya uv? Pakai cara lama: python -m venv .venv, aktifkan venv-nya, lalu pip install pytest-playwright dan playwright install. uv hanya membuatnya lebih cepat dan rapi.

Kenapa -D? Playwright hanya dipakai saat menulis dan menjalankan test, bukan saat aplikasi dipakai pengguna. Jadi ia dicatat sebagai devDependency di package.json.

Konfigurasi lengkap project contoh

Ini konfigurasi project contoh Academy, yang menjalankan semua contoh di tutorial. Punyamu masih lebih sederhana. Setiap bagiannya dijelaskan di modul yang membahasnya.

pyproject.tomlplaywright.config.tsLulus test
Memuat pyproject.toml…
Memuat playwright.config.ts…
Lebih jauh (opsional)Trik komunitas
  • uv menggantikan pip dan venv. Install-nya jauh lebih cepat, dan satu file pyproject.toml menyimpan daftar paket sekaligus pengaturan pytest.
  • Ekstensi VS Code "Playwright Test" (TypeScript): jalankan test sekali klik, centang Show browser, lalu pakai Pick locator dan Record new. Untuk Python, ekstensi Python dari Microsoft (bersama Pylance) sudah bisa menjalankan pytest dari panel Testing.
  • Unduh browser secukupnya. Untuk belajar, playwright install chromium sudah cukup. Di server CI tanpa layar, tambahkan --only-shell supaya unduhannya lebih kecil.
  • --with-deps di Linux atau CI sekalian menginstall library sistem yang dibutuhkan browser.
  • Sejak versi 1.57, Chromium bawaan Playwright memakai build Chrome for Testing (mode headless memakai chrome-headless-shell). Test lama tetap jalan, yang berubah hanya ikon dan judul jendela browser.
# Hanya Chromium tanpa jendela (untuk CI), unduhan lebih kecil
uv run playwright install chromium --only-shell
# Linux atau CI: browser sekaligus library sistem yang dibutuhkannya
uv run playwright install --with-deps chromium
# Hanya Chromium tanpa jendela (untuk CI), unduhan lebih kecil
npx playwright install chromium --only-shell
# Linux atau CI: browser sekaligus library sistem yang dibutuhkannya
npx playwright install --with-deps chromium

Latihan

Kerjakan di terminal laptopmu, lalu cocokkan hasilnya dengan jawaban.

Latihan 1

Cek versi Playwright

Buka terminal di folder project-mu (playwright-python atau playwright-typescript), lalu tampilkan versi Playwright yang terinstall.

Hasilterminal menampilkan versi Playwright, misalnya Version 1.63.0

Latihan 2

Temukan base URL aplikasi

Buka pyproject.toml (Python) atau playwright.config.ts (TypeScript). Cari base_url atau baseURL, lalu tulis nilainya dan gunanya dengan kalimatmu sendiri.

Hasilkamu tahu nilai base URL dan gunanya

Latihan 3

Jalankan satu test dari terminal

Jalankan test pertamamu dari Persiapan, lalu jalankan sekali lagi dengan browser yang terlihat (headed).

Hasilterminal menulis bahwa semua test lulus (passed)