Arena latihan
Setiap jurus punya brief dan tugas, lalu area latihan untuk mencobanya. Kerjakan satu per satu, dari jurus 1 sampai 14.
- Baca brief dan tugasnya
- Coba dulu secara manual
- Tulis test-nya sendiri
- Buka jawaban untuk membandingkan
1. Tombol
Modul 5Tiga cara mengklik yang paling sering dipakai: klik biasa, klik dua kali, dan klik kanan.
Yang dilatih
click()dblclick()click(button="right")
Tugas
- Klik tombol Klik aku tiga kali, lalu pastikan penghitungnya menjadi 3.
- Klik dua kali tombol di sebelahnya, lalu pastikan pesan double click muncul.
- 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: kali
Script Playwright jawaban, buka setelah mencoba sendiri
2. Formulir
Modul 5Hampir 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
- Isi nama dengan
Rina, pilih level Mahir, dan bahasa Java. - Pastikan newsletter tidak dicentang.
- Kirim formulir, lalu cek kalimat hasilnya persis.
- 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
Script Playwright jawaban, buka setelah mencoba sendiri
3. Hover
Modul 5Ada elemen yang baru muncul saat kursor berada di atasnya, misalnya keterangan kecil (tooltip) dan menu dropdown.
Yang dilatih
hover()get_by_role("tooltip")
Tugas
- Arahkan kursor ke tombol pertama, lalu cek isi tooltip-nya.
- 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 9Kotak 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
- Tekan tombol prompt, lalu batalkan dialognya.
- Cek pesan hasilnya di bawah tombol.
- 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 6Elemen 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
- Pastikan tombol Proses belum aktif saat halaman baru dibuka, lalu tunggu sampai aktif dan klik.
- Tekan Muat data, lalu pastikan daftarnya berisi 3 laporan.
- Tekan Mulai unduh, lalu tunggu sampai tulisannya Selesai.
Hasil yang diharapkan: semua lulus tanpa sleep atau wait_for_timeout.
Area latihan
Script Playwright jawaban, buka setelah mencoba sendiri
6. Tabel
Modul 4 dan 9Mencari 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
- Hitung baris yang berstatus Remedial (harusnya 2).
- Klik tombol Detail di baris milik Budi.
- 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
| Nama | Kelas | Nilai | Status | Aksi |
|---|
Script Playwright jawaban, buka setelah mencoba sendiri
7. Upload file
Modul 5Memilih file tanpa membuka file chooser milik sistem operasi. File bahkan bisa dibuat langsung di memori.
Yang dilatih
set_input_files()
Tugas
- Unggah dua file sekaligus bernama
a.txtdanb.txt. - 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 9Menangkap file yang diunduh, menyimpannya, lalu memeriksa isinya.
Yang dilatih
expect_download()save_as()
Tugas
- Mulai menunggu download, lalu klik link unduhnya.
- 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 5Menyeret elemen lalu melepasnya di tempat lain. Setiap buah hanya dihitung sekali.
Yang dilatih
drag_to()get_by_text(..., exact=True)
Tugas
- Seret buah kedua dan ketiga ke keranjang.
- Cek isi keranjang yang tertulis di bawahnya.
Hasil yang diharapkan: isi keranjang menyebut kedua buah itu, sesuai urutan diseret.
Area latihan
Isi keranjang: -
Script Playwright jawaban, buka setelah mencoba sendiri
10. iframe
Modul 9Formulir 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
- Isi email tanpa tanda
@, lalu tekan Daftar. - 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 9Link ini membuka tab baru. Di Playwright, tab baru adalah objek Page baru yang harus ditangkap.
Yang dilatih
context.expect_page()page.close()
Tugas
- Mulai menunggu tab baru, lalu klik link pusat bantuan.
- Cek judul di tab baru, lalu tutup tab itu.
- 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 5Menekan satu tombol, kombinasi tombol, atau mengetik huruf demi huruf seperti manusia.
Yang dilatih
press()press_sequentially()
Tugas
- Ketik
halohuruf demi huruf, lalu cek tombol terakhir yang tercatat. - 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 6Notifikasi 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
- Tekan tombol simpan, lalu pastikan notifikasinya terlihat.
- 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 13Daftar produk diambil dari /api/products. Dengan network mocking, kamu bisa membalas request itu sendiri.
Yang dilatih
page.route()route.fulfill()
Tugas
- Mock
/api/productssupaya mengembalikan daftar kosong. - Tekan Ambil produk, lalu cek jumlahnya.
Hasil yang diharapkan: tertulis 0 produk dan daftar tetap kosong.
Area latihan