throttleNetwork
Drosseln Sie die Netzwerkfähigkeiten des Browsers. Dies kann helfen, bestimmte Szenarien zu simulieren, in denen ein Benutzer seine Internetverbindung verliert und Ihre App darauf reagieren muss.
Es stehen viele Voreinstellungen mit Standardkonfigurationen zur einfachen Verwendung zur Verfügung.
Diese sind offline
, GPRS
, Regular2G
, Good2G
, Regular3G
, Good3G
,
Regular4G
, DSL
, WiFi
, online
.
Sie können die Werte für diese Voreinstellungen im Quellcode einsehen.
Beachten Sie, dass die Verwendung des throttleNetwork
-Befehls Unterstützung für das Chrome DevTools-Protokoll erfordert und z.B.
nicht verwendet werden kann, wenn automatisierte Tests in der Cloud ausgeführt werden. Chrome DevTools-Protokoll ist nicht standardmäßig installiert,
verwenden Sie npm install puppeteer-core
, um es zu installieren.
Erfahren Sie mehr im Abschnitt Automatisierungsprotokolle.
Verwendung
browser.throttleNetwork({ offline, latency, downloadThroughput, uploadThroughput })
Parameter
Name | Typ | Details |
---|---|---|
params | ThrottleOptions | Parameter für die Drosselung |
params.offline | boolean | True, um eine Internetunterbrechung zu emulieren. |
params.latency | number | Minimale Latenz vom Senden der Anfrage bis zum Empfang der Antwort-Header (ms). |
params.downloadThroughput | number | Maximaler aggregierter Download-Durchsatz (Bytes/Sek). -1 deaktiviert die Download-Drosselung. |
params.uploadThroughput | number | Maximaler aggregierter Upload-Durchsatz (Bytes/Sek). -1 deaktiviert die Upload-Drosselung. |
Beispiel
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
})
});