PLAYWRIGHT · PYTHON · DEBUGGING
Playwright Wait vs Sleep: Kenapa Test Sering Flaky?
time.sleep() terlihat mudah, tetapi sering membuat test lambat dan tetap gagal secara acak. Playwright sudah punya auto-waiting pada banyak action dan assertion.
Masalah dengan sleep
Jika menunggu dua detik, belum tentu data selesai dimuat. Kalau selesai dalam 200 milidetik, test membuang waktu. Kalau server sedang lambat, dua detik belum cukup.
Gunakan assertion yang menunggu
expect(page.get_by_text("Pesanan berhasil")).to_be_visible()
expect(page).to_have_title("Dashboard")Untuk kondisi khusus, tunggu target yang jelas, misalnya locator.wait_for(state="visible") atau response API tertentu. Hindari menunggu waktu jika yang sebenarnya ditunggu adalah perubahan state.
Checklist test stabil
- Pakai locator berbasis intent.
- Gunakan assertion Playwright.
- Isolasi data test.
- Debug kegagalan dengan trace, bukan menambah sleep.