تقييد الشبكة
تقييد قدرات الشبكة للمتصفح. يمكن أن يساعد ذلك في محاكاة سيناريوهات معينة حيث يفقد المستخدم اتصاله بالإنترنت وتحتاج تطبيقك إلى معالجة ذلك.
هناك العديد من الإعدادات المسبقة المتوفرة بتكوينات افتراضية لسهولة الاستخدام.
وهي 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 | صحيح لمحاكاة انقطاع الإنترنت. |
params.latency | number | الحد الأدنى للتأخير من إرسال الطلب إلى استلام رؤوس الاستجابة (مللي ثانية). |
params.downloadThroughput | number | الحد الأقصى لإجمالي سرعة التنزيل (بايت/ثانية). -1 يعطل تقييد التنزيل. |
params.uploadThroughput | number | الحد الأقصى لإجمالي سرعة الرفع (بايت/ثانية). -1 يعطل تقييد الرفع. |
مثال
throttleNetwork.js
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
})
});