Arena latihan

Setiap jurus punya brief dan tugas, lalu area latihan untuk mencobanya. Kerjakan satu per satu, dari jurus 1 sampai 14.

  1. Baca brief dan tugasnya
  2. Coba dulu secara manual
  3. Tulis test-nya sendiri
  4. Buka jawaban untuk membandingkan

1. Tombol

Modul 5

Tiga cara mengklik yang paling sering dipakai: klik biasa, klik dua kali, dan klik kanan.

Yang dilatih

click()dblclick()click(button="right")

Tugas

  1. Klik tombol Klik aku tiga kali, lalu pastikan penghitungnya menjadi 3.
  2. Klik dua kali tombol di sebelahnya, lalu pastikan pesan double click muncul.
  3. Klik kanan area bergaris, lalu pastikan pesan menu konteks muncul.

Hasil yang diharapkan: penghitung berisi 3, dan dua pesan hasil muncul di bawah tombol.

Area latihan

Diklik: 0 kali

Klik kanan di sini

Script Playwright jawaban, buka setelah mencoba sendiri

2. Formulir

Modul 5

Hampir semua aplikasi punya formulir. Di sini setiap jenis isian ada satu: teks, radio, dropdown, pilihan ganda, tanggal, dan checkbox.

Yang dilatih

fill()check()uncheck()select_option()to_have_value()

Tugas

  1. Isi nama dengan Rina, pilih level Mahir, dan bahasa Java.
  2. Pastikan newsletter tidak dicentang.
  3. Kirim formulir, lalu cek kalimat hasilnya persis.
  4. Bonus: pilih dua browser sekaligus, lalu isi tanggal 2026-11-03.

Hasil yang diharapkan: Terkirim: Rina | level Mahir | bahasa java | browser - | newsletter tidak

Area latihan

Level kamu
Tahan Ctrl (Cmd di Mac) untuk memilih lebih dari satu.

Script Playwright jawaban, buka setelah mencoba sendiri

3. Hover

Modul 5

Ada elemen yang baru muncul saat kursor berada di atasnya, misalnya keterangan kecil (tooltip) dan menu dropdown.

Yang dilatih

hover()get_by_role("tooltip")

Tugas

  1. Arahkan kursor ke tombol pertama, lalu cek isi tooltip-nya.
  2. Arahkan kursor ke tombol menu, lalu pastikan pilihan Furnitur terlihat.

Hasil yang diharapkan: tooltip berisi sapaan, dan menu kategori terbuka.

Area latihan

Script Playwright jawaban, buka setelah mencoba sendiri

4. Dialog browser

Modul 9

Kotak pesan bawaan browser (alert, confirm, prompt) bukan bagian dari halaman. Playwright menanganinya lewat handler event dialog yang harus dipasang sebelum mengklik.

Yang dilatih

page.once("dialog", ...)accept()dismiss()

Tugas

  1. Tekan tombol prompt, lalu batalkan dialognya.
  2. Cek pesan hasilnya di bawah tombol.
  3. Bonus: terima confirm, lalu isi prompt dengan nama kamu.

Hasil yang diharapkan: teks hasil menyebut bahwa prompt dibatalkan.

Area latihan

Script Playwright jawaban, buka setelah mencoba sendiri

5. Konten dinamis

Modul 6

Elemen yang muncul atau aktif belakangan. Di sinilah auto-waiting bekerja, jadi kamu tidak perlu sleep sama sekali.

Yang dilatih

to_be_disabled()to_be_enabled()to_have_count()timeout

Tugas

  1. Pastikan tombol Proses belum aktif saat halaman baru dibuka, lalu tunggu sampai aktif dan klik.
  2. Tekan Muat data, lalu pastikan daftarnya berisi 3 laporan.
  3. Tekan Mulai unduh, lalu tunggu sampai tulisannya Selesai.

Hasil yang diharapkan: semua lulus tanpa sleep atau wait_for_timeout.

Area latihan

Aktif 2 detik setelah halaman dibuka

0%
Script Playwright jawaban, buka setelah mencoba sendiri

Mencari baris berdasarkan isinya, mengklik tombol di baris itu, lalu mengecek urutan setelah tabel diurutkan.

Yang dilatih

get_by_role("row")filter(has_text=...)to_have_text([...])

Tugas

  1. Hitung baris yang berstatus Remedial (harusnya 2).
  2. Klik tombol Detail di baris milik Budi.
  3. Urutkan nilai tertinggi, lalu cek urutan nama dari atas ke bawah.

Hasil yang diharapkan: hasil detail menyebut Budi, dan urutan namanya Citra, Dewi, Andi, Eko, Budi.

Area latihan

Daftar Siswa
NamaKelasNilaiStatusAksi

Script Playwright jawaban, buka setelah mencoba sendiri

7. Upload file

Modul 5

Memilih file tanpa membuka file chooser milik sistem operasi. File bahkan bisa dibuat langsung di memori.

Yang dilatih

set_input_files()

Tugas

  1. Unggah dua file sekaligus bernama a.txt dan b.txt.
  2. Cek kalimat hasil di bawah kolom file.

Hasil yang diharapkan: File terpilih: a.txt, b.txt

Area latihan

Script Playwright jawaban, buka setelah mencoba sendiri

8. Download file

Modul 9

Menangkap file yang diunduh, menyimpannya, lalu memeriksa isinya.

Yang dilatih

expect_download()save_as()

Tugas

  1. Mulai menunggu download, lalu klik link unduhnya.
  2. Simpan file-nya, lalu hitung jumlah barisnya.

Hasil yang diharapkan: file laporan.csv berisi 3 baris (judul kolom dan 2 data).

Area latihan

Script Playwright jawaban, buka setelah mencoba sendiri

9. Drag & drop

Modul 5

Menyeret elemen lalu melepasnya di tempat lain. Setiap buah hanya dihitung sekali.

Yang dilatih

drag_to()get_by_text(..., exact=True)

Tugas

  1. Seret buah kedua dan ketiga ke keranjang.
  2. Cek isi keranjang yang tertulis di bawahnya.

Hasil yang diharapkan: isi keranjang menyebut kedua buah itu, sesuai urutan diseret.

Area latihan

Apel Jeruk Mangga
Tarik buah ke sini

Isi keranjang: -

Script Playwright jawaban, buka setelah mencoba sendiri

10. iframe

Modul 9

Formulir newsletter ini berada di dokumen terpisah (iframe). Locator biasa tidak bisa langsung masuk, jadi masuki dulu frame-nya.

Yang dilatih

frame_locator()content_frame

Tugas

  1. Isi email tanpa tanda @, lalu tekan Daftar.
  2. Cek pesan status di dalam iframe.

Hasil yang diharapkan: status menyebut email tidak valid.

Area latihan

Script Playwright jawaban, buka setelah mencoba sendiri

11. Tab baru

Modul 9

Link ini membuka tab baru. Di Playwright, tab baru adalah objek Page baru yang harus ditangkap.

Yang dilatih

context.expect_page()page.close()

Tugas

  1. Mulai menunggu tab baru, lalu klik link pusat bantuan.
  2. Cek judul di tab baru, lalu tutup tab itu.
  3. Pastikan jumlah tab kembali menjadi 1.

Hasil yang diharapkan: tab baru berisi halaman Pusat Bantuan, dan tab asal tetap bisa dipakai.

Area latihan

Script Playwright jawaban, buka setelah mencoba sendiri

12. Keyboard

Modul 5

Menekan satu tombol, kombinasi tombol, atau mengetik huruf demi huruf seperti manusia.

Yang dilatih

press()press_sequentially()

Tugas

  1. Ketik halo huruf demi huruf, lalu cek tombol terakhir yang tercatat.
  2. Tekan Enter, lalu kombinasi Shift dan panah kiri.

Hasil yang diharapkan: tombol terakhir tercatat o, lalu Enter, lalu Shift+ArrowLeft.

Area latihan

Tombol terakhir: -

Script Playwright jawaban, buka setelah mencoba sendiri

13. Notifikasi sementara

Modul 6

Notifikasi muncul di pojok kanan bawah selama 3 detik, lalu hilang sendiri. Cocok untuk melatih terlihat dan tersembunyi.

Yang dilatih

to_be_visible()to_be_hidden()

Tugas

  1. Tekan tombol simpan, lalu pastikan notifikasinya terlihat.
  2. Tunggu sampai notifikasi itu hilang, tanpa sleep.

Hasil yang diharapkan: notifikasi terlihat lalu hilang, dan test tetap lulus.

Area latihan

Script Playwright jawaban, buka setelah mencoba sendiri

14. Data dari API

Modul 13

Daftar produk diambil dari /api/products. Dengan network mocking, kamu bisa membalas request itu sendiri.

Yang dilatih

page.route()route.fulfill()

Tugas

  1. Mock /api/products supaya mengembalikan daftar kosong.
  2. Tekan Ambil produk, lalu cek jumlahnya.

Hasil yang diharapkan: tertulis 0 produk dan daftar tetap kosong.

Area latihan

    Script Playwright jawaban, buka setelah mencoba sendiri