محدودسازی شبکه
محدود کردن قابلیتهای شبکه مرورگر. ای ن میتواند به شبیهسازی سناریوهایی کمک کند که در آن کاربر اتصال اینترنت خود را از دست میدهد و برنامه شما باید به آن رسیدگی کند.
تنظیمات پیشفرض زیادی با پیکربندیهای آماده برای سهولت استفاده وجود دارند.
آنها عبارتند از offline
، GPRS
، Regular2G
، Good2G
، Regular3G
، Good3G
،
Regular4G
، DSL
، WiFi
، online
.
شما میتوانید مقادیر این تنظیمات پیشفرض را در کد منبع مشاهده کنید.
توجه داشته باشید که استفاده از دستور throttleNetwork
نیازمند پشتیبانی از پروتکل Chrome DevTools است و مثلاً
نمیتواند هنگام اجرای تستهای خودکار در فضای ابری استفاده شود. پروتکل Chrome DevTools به صورت پیشفرض نصب نمیشود،
از دستور npm install puppeteer-core
برای نصب آن استفاده کنید.
اطلاعات بیشتر را در بخش پروتکلهای اتوماسیون بیابید.
استفاده
browser.throttleNetwork({ offline, latency, downloadThroughput, uploadThroughput })
پارامترها
نام | نوع | جزئیات |
---|---|---|
params | ThrottleOptions | پارامترهای محدودسازی |
params.offline | boolean | اگر true باشد، قطع اتصال اینترنت شبیهسازی میشود. |
params.latency | number | حداقل تأخیر از زمان ارسال درخواست تا دریافت هدرهای پاسخ (میلیثانیه). |
params.downloadThroughput | number | حداکثر توان عملیاتی دانلود تجمعی (بایت/ثانیه). مقدار -1 محدودسازی دانلود را غیرفعال میکند. |
params.uploadThroughput | number | حداکثر توان عملیاتی آپلود تجمعی (بایت/ثانیه). مقدار -1 محدودسازی آپلود را غیرفعال میکند. |
مثال
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
})
});