اختبار صلاحيات المتصفح: Camera وMicrophone وLocation وNotifications

اختبار صلاحيات المتصفح: Camera و Microphone و Location و Notifications

دليل عملي لاختبار صلاحيات المتصفح على مستوى الموقع والبروفايل، وفهم الفرق بين Prompt النظام و Permission المتصفح وحالة الحظر الدائمة.

دليل عملي

دليل عملي لاختبار صلاحيات المتصفح على مستوى الموقع والبروفايل، وفهم الفرق بين Prompt النظام وPermission المتصفح وحالة الحظر الدائمة.

5خطوات
عمليالمستوى

صلاحيات الكاميرا والميكروفون والموقع والإشعارات تبدو بسيطة في واجهة المستخدم: Allow أو Block. لكن عند تشغيل أكثر من بروفايل أو استخدام Electron/Chromium مع سياسات مخصصة، يصبح السؤال الحقيقي: أين حُفظ القرار؟ وهل القرار خاص بالموقع أم بالبروفايل أم بنظام التشغيل؟ الاختبار المهني لا يكتفي بأن تظهر نافذة طلب الإذن؛ بل يثبت أن القرار يصل إلى ال ـOrigin الصحيح، لا يتسرب لبروفايل آخر، ويمكن تغييره وإعادة اختباره بدون حالة قديمة مخفية.

افصل بين طبقات الصلاحية الثلاث

أول طبقة هي نظام التشغيل؛ Windows أو Linux أو Android قد يمنع الوصول للكاميرا أو الميكروفون حتى لو المتصفح سمح به. الطبقة الثانية هي سياسة المتصفح أو التطبيق: Permission handler أو Content settings أو إعدادات المؤسسة. الطبقة الثالثة هي قرار المستخدم للموقع نفسه. لذلك ظهور NotAllowedError لا يثبت أن المستخدم ضغط Block؛ قد يكون المنع في أي طبقة. ابدأ دائمًا بتسجيل حالة كل طبقة قبل تعديل أي شيء.

ابنِ صفحة اختبار قابلة للتكرار

استخدم صفحة واحدة تطلب كل صلاحية بشكل منفصل، وتعرض النتيجة والوقت ورسالة الخطأ. لا تطلب الأربع صلاحيات في اللحظة نفسها، لأنك لن تعرف أي Prompt سبب المشكلة. اختبر Camera أولًا، ثم Microphone، ثم Geolocation، ثم Notifications. بعد كل قرار أغلق الصفحة وأعد فتحها للتأكد أن الحالة حُفظت كما تتوقع. في بيئة متعددة البروفايلات، كرر نفس الخطوات في Profile ثانٍ جديد للتأكد أن القرار لم ينتقل.

خطوات عملية

  1. افتح Profile جديدًا وسجل حالة permissions الحالية.
  2. اطلب Camera وحدها وسجل النتيجة والجهاز المختار.
  3. كرر مع Microphone ثم Geolocation ثم Notifications.
  4. أغلق التبويب وافتحه مرة أخرى لمعرفة هل القرار مستمر.
  5. كرر الاختبار في Profile آخر وقارن دون تغيير إعدادات النظام.

اختبر الحظر والاستعادة وليس السماح فقط

كثير من الأنظمة تعمل في مسار Allow وتفشل عند تغيير الرأي. امنع الصلاحية عمدًا، ثم حاول الطلب مرة أخرى، ثم امسح القرار من إعدادات الموقع واختبر Prompt جديدًا. لو لديك لوحة إدارة للصلاحيات، غيّر الحالة منها وتأكد أن WebContents الحالي أو الجديد يقرأ التغيير بالشكل الصحيح. بالنسبة للموقع الجغرافي، اختبر أيضًا حالة غياب مزود الموقع أو فشل الشبكة حتى لا تخلط Permission granted مع نجاح الحصول على إحداثيات.

قائمة مراجعة

  • Block ينتج حالة واضحة ولا يدخل في Prompt loop.
  • إزالة القرار تعيد الموقع إلى Ask بدل بقاء Block خفي.
  • تغيير Profile لا ينقل القرار.
  • تعطيل صلاحية النظام يظهر كسبب مختلف عن حظر الموقع.
  • Logs لا تحتوي أسماء أجهزة أو معلومات حساسة أكثر من اللازم.

راقب الأذونات كجزء من العزل

في المتصفح متعدد الحسابات، permission state جزء من هوية البروفايل مثل التخزين. لو حساب وافق على Location وحساب آخر ورث القرار، فهذا تسرب حالة حتى لو Cookies منفصلة. لذلك أضف Permission regression test إلى اختبارات العزل: نفس Origin في بروفايلين، قرار مختلف في كل واحد، Restart للتطبيق، ثم تحقق من استمرار الفرق. هذه التجربة الصغيرة تكشف أخطاء في Partition أو استخدام Session مشتركة بسرعة.

هل تريد الاحتفاظ بالمقال أو إعادة استخدامه؟
مجتمع إيجي تاجعن المجتمع

شارك في تقييم ونقاش المقال

رأيك يضيف قيمة للمقال ويساعدنا على تحسين المحتوى والنقاش حوله.

تفاعل مع المقالاختر التفاعل المناسب، ويمكنك تغيير رأيك لاحقًا.
قيّم جودة المقاللا توجد تقييمات بعد — كن أول من يقيّم.

نقاش القراء

النقاش

جارٍ تحميل التعليقات…

بعد هذه المادة

تابع القراءة

كل مواد اختبارات وتشغيل المتصفح
من نفس القسم04
  1. 02
  2. 03
  3. 04
اختيار القراء

الأكثر قراءة

الترتيب الكامل
  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
يتجدد مع النشر

أحدث المواد

  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
  6. 06