استكشاف الأخطاء وإصلاحها في Test Lab & الأسئلة الشائعة
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تقدّم هذه الصفحة مساعدة في تحديد المشاكل وحلّها وإجابات عن الأسئلة الشائعة حول إجراء الاختبارات باستخدام Firebase Test Lab. يتم أيضًا توثيق المشاكل المعروفة. إذا لم تتمكّن من العثور على ما تبحث عنه أو كنت بحاجة إلى مساعدة إضافية، انضم إلى القناة #test-lab على Firebase Slack أو تواصَل مع فريق دعم Firebase.
تحديد المشاكل وحلّها
لماذا يستغرق إجراء الاختبار وقتًا طويلاً؟
عند اختيار جهاز ذي مستوى سعة عالٍ في Test Labالكتالوج، قد تبدأ الاختبارات بشكل أسرع. عندما تكون سعة الجهاز منخفضة، قد يستغرق إجراء الاختبارات وقتًا أطول. إذا كان عدد الاختبارات التي تم تنفيذها أكبر بكثير من سعة الأجهزة المحدّدة، قد يستغرق إكمال الاختبارات وقتًا أطول.
قد تستغرق الاختبارات التي يتم إجراؤها على أي مستوى من مستويات سعة الجهاز وقتًا أطول بسبب العوامل التالية:
حجم الزيارات، ما يؤثر في مدى توفّر الأجهزة وسرعة الاختبار
أعطال الأجهزة أو البنية الأساسية، والتي يمكن أن تحدث في أي وقت للتحقّق مما إذا كانت هناك بنية أساسية تم الإبلاغ عنها في Test Lab، يُرجى الاطّلاع على لوحة بيانات الحالة في Firebase.
لمزيد من المعلومات عن سعة الجهاز في Test Lab، راجِع معلومات سعة الجهاز لنظامَي التشغيل Android وiOS.
لماذا تظهر نتائج اختبار غير حاسمة؟
تحدث النتائج غير الحاسمة للاختبار عادةً بسبب إلغاء عمليات الاختبار أو حدوث أخطاء في البنية الأساسية.
تحدث أخطاء البنية الأساسية بسبب مشاكل داخلية في Test Lab، مثل أخطاء الشبكة أو السلوكيات غير المتوقعة للأجهزة. تتوقّف Test Lab داخليًا عن إعادة تشغيل الاختبارات التي تؤدي إلى حدوث أخطاء في البنية الأساسية عدة مرات قبل تسجيل نتيجة غير حاسمة، ولكن يمكنك إيقاف عمليات إعادة التشغيل هذه باستخدام failFast.
أعِد إجراء الاختبار في Test Lab للتأكّد من إمكانية تكراره.
جرِّب إجراء الاختبار على جهاز أو نوع جهاز مختلفَين، إذا كان ذلك منطبقًا.
في حال استمرار المشكلة، يُرجى التواصل مع فريق Test Lab في القناة #test-lab على Firebase Slack.
لماذا استغرقت الاختبارات وقتًا أطول بعد تقسيمها؟
يمكن أن يؤدي التقسيم إلى تشغيل اختباراتك لفترة أطول عندما يتجاوز عدد الأجزاء الذي حدّدته عدد الأجهزة المتاحة للاستخدام في Test Lab. لتجنُّب هذه الحالة، جرِّب التبديل إلى جهاز آخر. لمزيد من المعلومات
حول اختيار جهاز مختلف، يُرجى الاطّلاع على
سعة الجهاز:
لماذا يستغرق بدء الاختبار وقتًا طويلاً؟
عند إرسال طلب اختبار، يتم أولاً التحقّق من تطبيقك وإعادة توقيعه وما إلى ذلك، وذلك استعدادًا لإجراء الاختبارات على أحد الأجهزة. تكتمل هذه العملية عادةً في أقل من بضع ثوانٍ، ولكن يمكن أن تتأثر بعوامل مثل حجم تطبيقك.
بعد إعداد تطبيقك، تتم جدولة عمليات تنفيذ الاختبارات وتبقى في قائمة انتظار إلى أن يصبح أحد الأجهزة جاهزًا لتشغيلها. إلى أن تنتهي جميع عمليات تنفيذ الاختبار، ستكون حالة المصفوفة "في انتظار المراجعة" (بغض النظر عمّا إذا كانت عمليات تنفيذ الاختبار في قائمة الانتظار أو قيد التنفيذ حاليًا).
لماذا يستغرق إكمال الاختبار وقتًا طويلاً؟
بعد انتهاء تنفيذ الاختبار، يتم تنزيل عناصر الاختبار من الجهاز ومعالجتها وتحميلها إلى Cloud Storage. يمكن أن تتأثر مدة هذه الخطوة بكمية العناصر وحجمها.
الأسئلة الشائعة
ما هي الحصص النسبية بدون تكلفة
لـ Test Lab؟ ماذا أفعل إذا نفدت المساحة؟
لا تفرض Firebase Test Lab أي تكلفة على الحصص المخصّصة للاختبار على الأجهزة واستخدام واجهات Cloud API. يُرجى العِلم أنّ حصة الاختبار تستخدم خطة الأسعار العادية في Firebase،
بينما لا تستخدم حصص Cloud API خطة الأسعار العادية.
حصة الاختبار
يتم تحديد حصص الاختبارات حسب عدد الأجهزة المستخدَمة لإجراء الاختبارات.
تتضمّن "خطة Spark" من Firebase حصة اختبار ثابتة بدون أي تكلفة على المستخدمين. بالنسبة إلى خطة Blaze، قد تزيد حصصك إذا زاد استخدامك لخدمة Google Cloud بمرور الوقت. إذا بلغت حصة الاختبار، عليك الانتظار حتى اليوم التالي أو الترقية إلى خطة Blaze إذا كنت تستخدم خطة Spark حاليًا.
إذا كنت مشتركًا في خطة Blaze، يمكنك طلب زيادة الحصة.
لمزيد من المعلومات، يُرجى الاطّلاع على
حصة الاختبار.
تتضمّن واجهة برمجة التطبيقات Cloud Testing API حدّين للحصة: الطلبات في اليوم لكل مشروع، والطلبات كل 100 ثانية لكل مشروع. يمكنك مراقبة استخدامك في وحدة تحكّم Google Cloud.
حصة Cloud Tool Results API
تتضمّن واجهة برمجة التطبيقات Cloud Tool Results API حدّين للحصة: طلبات البحث في اليوم لكل مشروع، وطلبات البحث كل 100 ثانية لكل مشروع. يمكنك مراقبة استخدامك في وحدة تحكّم Google Cloud.
يُرجى الاطّلاع على حصص Cloud API في Test Lab
للحصول على مزيد من المعلومات حول حدود واجهة برمجة التطبيقات. في حال بلوغ حصة واجهة برمجة التطبيقات:
يمكنك إرسال طلب للحصول على حصص أعلى من خلال
تعديل حصصك
مباشرةً في وحدة تحكّم Google Cloud (يُرجى العِلم أنّه يتم ضبط معظم الحدود على
الحدّ الأقصى تلقائيًا)، أو
يمكنك طلب حصص أعلى لواجهة برمجة التطبيقات من خلال ملء نموذج طلب في
Google Cloud وحدة التحكّم أو من خلال التواصل مع
فريق دعم Firebase.
كيف يمكنني معرفة ما إذا كانت الزيارات التي تصل إلى الخلفية تأتي من Test Lab؟
من الخلفية، يمكنك تحديد ما إذا كانت الزيارات واردة من أجهزة اختبار مستضافة على Firebase من خلال التحقّق من عنوان IP المصدر ومقارنته بنطاقات عناوين IP.
هل تعمل Test Lab مع
VPC-SC؟
لا يتوافق Test Lab مع VPC-SC، ما يؤدي إلى حظر نسخ التطبيقات وغيرها من عناصر الاختبار بين مساحة التخزين الداخلية في Test Lab وحِزم نتائج المستخدمين.
كيف يمكنني رصد الاختبارات غير الموثوقة في
Test Lab؟
لرصد السلوك غير الثابت في اختباراتك، ننصحك باستخدام الخيار
--num-flaky-test-attempts
. تتم محاسبة عمليات إعادة تشغيل الاختبارات غير المستقرة أو يتم احتسابها ضمن حصتك اليومية مثل عمليات تنفيذ الاختبارات العادية.
يرجى الإحاطة علمًا بالتالي:
يتم تنفيذ الاختبار بأكمله مرة أخرى عند رصد حدوث خطأ. لا تتوفّر إمكانية إعادة محاولة تنفيذ حالات الاختبار التي تعذّر تنفيذها فقط.
يتم تحديد موعد تنفيذ عمليات إعادة المحاولة لإصلاح المشاكل في الوقت نفسه، ولكن لا يمكن ضمان تنفيذها بالتوازي، مثلاً، عندما يتجاوز عدد الزيارات عدد الأجهزة المتاحة.
هل تتوافق Test Lab مع Appium أو Flutter/FlutterDriver أو ReactNative/Jest أو Cucumber؟
على الرغم من أنّ بعض هذه العناصر مدرَج في خطة العمل، لا يمكننا حاليًا تقديم
تعهّد بتوفير الدعم لمنصات الاختبار وتطوير التطبيقات هذه.
أين يمكنني العثور على تفاصيل الجهاز، مثل الدقة وما إلى ذلك؟
تتوفّر معلومات تفصيلية عن الجهاز من خلال واجهة برمجة التطبيقات ويمكن الوصول إليها من عميل gcloud باستخدام الأمر describe:
gcloud firebase test ios models describe MODEL
هل يمكنني استخدام التقسيم إلى أجزاء مع اختبارات iOS؟
لا تتوفّر ميزة التقسيم بشكلٍ أصلي في Test Lab على أجهزة iOS. ومع ذلك، يمكنك استخدام برنامج Flank لتقسيم حالات الاختبار على أجهزة iOS.
ويتم ذلك من خلال ضبط OnlyTestIdentifiers المفتاح والقيم في ملف .xctestrun.
يُرجى الانتقال إلى صفحة man للاطّلاع على xcodebuild.xctestrun لمزيد من التفاصيل.
لماذا لا تظهر فيديوهات في نتائج اختبار iOS؟
بالنسبة إلى الإصدار 18 من نظام التشغيل iOS أو الإصدارات الأحدث، لا يمكننا عرض فيديوهات في النتائج.
المشكلات المعروفة
اختبارات CAPTCHA لتسجيل الدخول
لا يمكن لاختبار Robo تجاوز شاشات تسجيل الدخول التي تتطلّب إجراءً إضافيًا من المستخدمين بخلاف إدخال بيانات الاعتماد لتسجيل الدخول، مثل إكمال اختبار CAPTCHA.
توافق إطار واجهة المستخدم
يعمل اختبار Robo بشكل أفضل مع التطبيقات التي تستخدم عناصر واجهة المستخدم من إطار عمل واجهة مستخدم Android (بما في ذلك الكائنات View وViewGroup وWebView). إذا كنت تستخدم اختبار Robo لتشغيل تطبيقات تستخدم أُطر عمل أخرى لواجهة المستخدم، بما في ذلك التطبيقات التي تستخدم محرك ألعاب Unity، قد يتوقف الاختبار بدون استكشاف ما بعد الشاشة الأولى.
تاريخ التعديل الأخير: 2025-07-22 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-22 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]