Network mocking və auth state
page.route() — şəbəkə sorğularını tutub idarə etmək:
- Mock cavab:
route.fulfill({ status: 500, json: {...} })— backend-siz error state-lər - Dəyişdirmə: sorğunu ötür, cavabı modifikasiya et
- Bloklama:
route.abort()— məs. analytics/reklam sorğularını kəsib testi sürətləndir
İstifadə halları: 500/timeout error state-ləri, boş siyahılar, nadir data halları, üçüncü tərəf servislərin (ödəniş provayderi) simulyasiyası.
storageState — login-in bir dəfə edilməsi: setup project login edib storageState.json (cookies + localStorage) saxlayır; bütün testlər həmin state ilə başlayır. Nəticə: hər testdə 5-10 saniyə qənaət + login səhifəsinə tək nöqtəli asılılıq.
Mock-un qızıl qaydası: yoxladığın şeyi mock etmə. Ödəniş axınını test edirsənsə, ödəniş API-ni mock etmək testi mənasız edir; amma ödənişdən asılı olmayan bir səhifədə ödəniş provayderinin yavaşlığını mock etmək düzgündür. Mock — asılılıqları izolyasiya üçündür, yoxlanan davranışı əvəz etmək üçün yox.
📚 Mənbələr və sənədlər
- Şəbəkəni mock etməkrəsmiplaywright.dev
- Autentifikasiyarəsmiplaywright.dev