محدودسازی شبکه
محدود کردن قابلیتهای شبکه مرورگر. ای ن میتواند به شبیهسازی سناریوهایی کمک کند که در آن کاربر اتصال اینترنت خود را از دست میدهد و برنامه شما باید به آن رسیدگی کند.
تنظیمات پیشفرض زیادی با پیکربندیهای آماده برای سهولت استفاده وجود دارند.
آنها عبارتند از 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
})
});