انتقل إلى المحتوى الرئيسي

تقييد الشبكة

تقييد قدرات الشبكة للمتصفح. يمكن أن يساعد ذلك في محاكاة سيناريوهات معينة حيث يفقد المستخدم اتصاله بالإنترنت وتحتاج تطبيقك إلى معالجة ذلك.

هناك العديد من الإعدادات المسبقة المتوفرة بتكوينات افتراضية لسهولة الاستخدام. وهي 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 })
المعلمات
الاسمالنوعالتفاصيل
paramsThrottleOptionsمعلمات للتقييد
params.offlinebooleanصحيح لمحاكاة انقطاع الإنترنت.
params.latencynumberالحد الأدنى للتأخير من إرسال الطلب إلى استلام رؤوس الاستجابة (مللي ثانية).
params.downloadThroughputnumberالحد الأقصى لإجمالي سرعة التنزيل (بايت/ثانية). -1 يعطل تقييد التنزيل.
params.uploadThroughputnumberالحد الأقصى لإجمالي سرعة الرفع (بايت/ثانية). -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
})
});

Welcome! How can I help?

WebdriverIO AI Copilot