throttleNetwork
Ograniczanie możliwości sieciowych przeglądarki. Może to pomóc w symulowaniu określonych scenariuszy, w których użytkownik traci połączenie internetowe i Twoja aplikacja musi się do tego dostosować.
Dostępnych jest wiele predefiniowanych ustawień z domyślnymi konfiguracjami dla ułatwienia użytkowania.
Są to offline
, GPRS
, Regular2G
, Good2G
, Regular3G
, Good3G
,
Regular4G
, DSL
, WiFi
, online
.
Możesz zobaczyć wartości dla tych predefiniowanych ustawień w kodzie źródłowym.
Zauważ, że korzystanie z polecenia throttleNetwork
wymaga wsparcia dla protokołu Chrome DevTools i np.
nie może być używane podczas uruchamiania zautomatyzowanych testów w chmurze. Chrome DevTools protocol nie jest instalowany domyślnie,
użyj npm install puppeteer-core
, aby go zainstalować.
Dowiedz się więcej w sekcji Protokoły automatyzacji.
Użycie
browser.throttleNetwork({ offline, latency, downloadThroughput, uploadThroughput })
Parametry
Nazwa | Typ | Szczegóły |
---|---|---|
params | ThrottleOptions | parametry do ograniczania |
params.offline | boolean | Wartość true, aby symulować odłączenie od internetu. |
params.latency | number | Minimalne opóźnienie od wysłania żądania do otrzymania nagłówków odpowiedzi (ms). |
params.downloadThroughput | number | Maksymalna zagregowana przepustowość pobierania (bajty/sek). -1 wyłącza ograniczanie pobierania. |
params.uploadThroughput | number | Maksymalna zagregowana przepustowość wysyłania (bajty/sek). -1 wyłącza ograniczanie wysyłania. |
Przykład
it('should throttle the network', async () => {
// via static string preset
await browser.throttleNetwork('Regular3G')
// via custom values
await browser.throttleNetwork({
offline: false,
downloadThroughput: 200 * 1024 / 8,
uploadThroughput: 200 * 1024 / 8,
latency: 20
})
});