تحديد المشاكل وحلّها في مركز الاختبار الافتراضي والأسئلة الشائعة
تقدّم هذه الصفحة مساعدة في تحديد المشاكل وحلّها وإجابات عن الأسئلة الشائعة حول إجراء الاختبارات باستخدام مركز الاختبار الافتراضي لمنصة Firebase. كما يتم توثيق
المشكلات المعروفة. إذا لم تتمكن من العثور على ما
تبحث عنه أو كنت بحاجة إلى مساعدة إضافية، يمكنك الانضمام إلى #test-lab
channel على Firebase Slack أو التواصل مع فريق دعم
Firebase.
تحديد المشاكل وحلّها
لماذا يستغرق تنفيذ الاختبار وقتًا طويلاً؟
عند اختيار جهاز عالي السعة في كتالوج مركز الاختبار الافتراضي، قد تبدأ الاختبارات بشكل أسرع. عندما يكون الجهاز منخفضًا، قد يستغرق إجراء الاختبارات وقتًا أطول. إذا كان عدد الاختبارات التي تم استدعاؤها أكبر بكثير من سعة الأجهزة المحددة، يمكن أن يستغرق إنهاء الاختبارات وقتًا أطول.
قد تستغرق الاختبارات التي يتم إجراؤها على أي مستوى من مستويات سعة الجهاز وقتًا أطول بسبب
العوامل التالية:
عدد الزيارات، ما يؤثّر في مدى توفّر الجهاز وسرعة الاختبار
أعطال في الأجهزة أو البنية الأساسية، قد تحدث في أي وقت لمعرفة ما إذا كانت هناك بنية أساسية تم الإبلاغ عنها لاستخدامها في Test Lab، يمكنك الاطّلاع على لوحة البيانات الخاصة بحالة Firebase.
لمزيد من المعلومات حول سعة الأجهزة في Test Lab، يمكنك الاطّلاع على معلومات سعة الأجهزة في نظامَي التشغيل Android وiOS.
لماذا أتلقى نتائج اختبار غير حاسمة؟
عادةً ما تحدث نتائج الاختبار غير الحاسمة إما بسبب عمليات الاختبار الملغاة أو أخطاء البنية الأساسية.
تحدث أخطاء البنية الأساسية بسبب مشاكل داخلية في مركز الاختبار الافتراضي، مثل أخطاء الشبكة أو السلوكيات غير المتوقعة للأجهزة. بعد أن يوقف مركز الاختبار الافتراضي عمليات الاختبار التي تؤدي إلى حدوث أخطاء في البنية الأساسية عدة مرات قبل الإبلاغ عن نتيجة غير حاسمة، يمكنك إيقاف عمليات إعادة المحاولة هذه باستخدام الدالة
failFast.
أعِد المحاولة في مركز الاختبار الافتراضي للتأكّد من أنّه قابل للتكرار.
حاوِل إجراء الاختبار على جهاز أو نوع جهاز مختلف، إذا كان ذلك منطبقًا.
في حال استمرار المشكلة، يمكنك التواصل مع فريق Test Lab في
قناة#test-lab على
Firebase Slack.
لماذا جعلت عملية التقسيم اختباراتي
أطول؟
ويمكن أن يؤدي التقسيم إلى أجزاء إلى إجراء اختباراتك لفترة أطول عندما يتجاوز عدد الأجزاء التي حدّدتها عدد الأجهزة المتاحة للاستخدام في Test Lab. لتجنب هذا الموقف،
حاول التبديل إلى جهاز مختلف. لمزيد من المعلومات
حول اختيار جهاز مختلف، يُرجى الاطّلاع على
سعة الجهاز:
لماذا يستغرق بدء
اختباري وقتًا طويلاً؟
عند إرسال طلب اختبار، يتم أولاً التحقّق من صحة تطبيقك وإعادة توقيعه وما إلى ذلك استعدادًا لإجراء الاختبارات على أحد الأجهزة. عادةً ما تكتمل هذه العملية في أقل من بضع ثوانٍ، ولكنها يمكن أن تتأثر بعوامل مثل حجم تطبيقك.
بعد الانتهاء من إعداد التطبيق، تتم جدولة عمليات تنفيذ الاختبارات وتظل في قائمة انتظار
إلى أن يصبح الجهاز جاهزًا لتشغيله. إلى أن تنتهي جميع عمليات التنفيذ الاختبارية، ستكون حالة المصفوفة "في انتظار المراجعة" (بغض النظر عمّا إذا كانت عمليات تنفيذ الاختبار في قائمة الانتظار أو قيد التشغيل بشكل نشط).
لماذا يستغرق إنهاء
اختباري وقتًا طويلاً؟
بعد انتهاء تنفيذ الاختبار، يتم تنزيل عناصر الاختبار من الجهاز ومعالجتها وتحميلها إلى Cloud Storage. يمكن أن تتأثر مدة هذه الخطوة
بحجم الأدوات وحجمها.
الأسئلة الشائعة
ما هي الحصص المجانية
لبرنامج Test Lab؟ ماذا أفعل إذا نفدت المساحة؟
يقدّم مركز الاختبار الافتراضي لمنصة Firebase حصصًا بدون تكلفة للاختبار على الأجهزة واستخدام
Cloud APIs. يُرجى العلم أنّ حصة الاختبار تستخدم خطة أسعار Firebase العادية،
بينما لا تستخدم حصص Cloud API.
حصة الاختبار
يتم تحديد حصص الاختبار من خلال عدد الأجهزة المستخدمة لإجراء الاختبارات.
تتضمّن خطة Firebase Spark حصة اختبار ثابتة بدون أي تكلفة للمستخدمين. بالنسبة إلى خطة Blaze، قد تزيد حصصك في حال زيادة استخدامك لخدمة Google Cloud بمرور الوقت. إذا وصلت إلى حصة الاختبار، فانتظر حتى اليوم التالي أو قم بالترقية إلى خطة Blaze إذا كنت مشتركًا حاليًا في خطة Spark.
إذا كنت مشتركًا حاليًا في خطة Blaze، يمكنك طلب زيادة الحصة.
لمزيد من المعلومات، يُرجى الاطّلاع على حصة الاختبار.
تأتي واجهة برمجة التطبيقات Cloud Testing API مزوّدة بحدود للحصة: عدد الطلبات في اليوم لكل مشروع، والطلبات كل 100 ثانية لكل مشروع. يمكنك تتبُّع استخدامك في وحدة تحكُّم Google Cloud.
حصة واجهة برمجة التطبيقات للنتائج في Cloud Tool
تأتي واجهة برمجة تطبيقات النتائج في Cloud Tool مع حدين للحصة: طلبات البحث في اليوم لكل مشروع، وطلبات البحث لكل 100 ثانية لكل مشروع. يمكنك تتبُّع استخدامك في وحدة تحكُّم Google Cloud.
يُرجى الاطّلاع على حصص Cloud API في Test Lab لمزيد من المعلومات حول حدود واجهة برمجة التطبيقات. إذا وصلت إلى حصة واجهة برمجة التطبيقات:
يمكنك إرسال طلب للحصول على حصص أعلى من خلال
تعديل حصصك
مباشرةً في Google Cloud Console (يُرجى العلم أنّ معظم الحدود مضبوطة على الحد الأقصى بشكل تلقائي)، أو
يمكنك طلب حصص أعلى من واجهة برمجة التطبيقات من خلال ملء نموذج طلب في
Google Cloud Console أو من خلال التواصل مع
فريق دعم Firebase.
كيف أعرف ما إذا كانت الزيارات التي تصل إلى خادمي الخلفية واردة من Test Lab؟
من الخلفية، يمكنك تحديد ما إذا كانت الزيارات واردة من أجهزة اختبار مستضافة على Firebase
من خلال التحقق من عنوان IP المصدر مقابل
نطاقات IP التابعة لنا.
هل يعمل Test Lab مع
VPC-SC؟
لا يعمل مركز الاختبار الافتراضي مع VPC-SC الذي يحظر
نسخ التطبيقات وعناصر الاختبار الأخرى بين مساحة التخزين الداخلية في Test Lab وحزم نتائج المستخدمين.
كيف يمكنني اكتشاف الاختبارات غير المستقرة في مركز الاختبار الافتراضي؟
لرصد السلوك غير المستقر في اختباراتك، ننصحك باستخدام الخيار
--num-flaky-test-attempts
. يتم احتساب عمليات إعادة تشغيل Deflake أو احتسابها ضمن حصتك اليومية تمامًا كما يتم احتساب عمليات التنفيذ التجريبية العادية.
يرجى الإحاطة علمًا بالتالي:
تتم إعادة تنفيذ الاختبار بأكمله مرة أخرى عند رصد تعذُّر. ولا يتوفر أي دعم لإعادة محاولة استخدام حالات الاختبار التي لم تنجح فقط.
تتم جدولة عمليات إعادة المحاولة من خلال رصد الأخطاء الإملائية في الوقت نفسه، ولكن لا يتم ضمان تشغيلها بالتوازي، مثلاً عندما يتجاوز عدد الزيارات عدد الأجهزة المتاحة.
هل يتيح برنامج Test Lab استخدام
Appium أو Flutter/FlutterDriver أو ReactNative/Jest أو Cucumber؟
على الرغم من أن بعض هذه العناصر ضمن خارطة الطريق لدينا، فإننا لا نستطيع حاليًا الالتزام
بدعم هذه المنصات للاختبارات وتطوير التطبيقات.
أين يمكنني العثور على تفاصيل الجهاز،
مثل درجة الدقة، وما إلى ذلك؟
تتوفر معلومات مفصَّلة حول الجهاز من خلال واجهة برمجة التطبيقات ويمكن الوصول إليها
من عميل gcloud باستخدام
الأمر "describe":
gcloud firebase test ios models describe MODEL
هل يمكنني استخدام التقسيم مع اختبارات iOS؟
لا يتوفر التقسيم إلى أجزاء في الأصل داخل مركز الاختبار الافتراضي لنظام التشغيل iOS. ومع ذلك، يمكنك استخدام البرنامج Flank لتقسيم حالات اختبار iOS.
يعمل ذلك من خلال ضبط مفتاح وقيم OnlyTestIdentifiers في ملف .xctestrun.
لمزيد من التفاصيل، يمكنك الاطّلاع على صفحة "man" عن "xcodebuild.xctestrun".
المشكلات المعروفة
اختبارات CAPTCHA لتسجيل الدخول
لا يمكن لاختبار Robo تجاوز شاشات تسجيل الدخول التي تتطلب إجراءً إضافيًا من المستخدم غير إدخال بيانات الاعتماد لتسجيل الدخول، مثل إكمال اختبار CAPTCHA.
إتاحة إطار عمل واجهة المستخدم
يعمل اختبار Robo بشكل أفضل مع التطبيقات التي تستخدم عناصر واجهة المستخدم من إطار عمل واجهة المستخدم على Android (بما في ذلك كائنات View وViewGroup وWebView). إذا كنت تستخدم اختبار Robo للتمارين في تطبيقات تستخدم أطرًا أخرى لواجهة المستخدم،
بما في ذلك التطبيقات التي تستخدم محرّك ألعاب Unity، قد ينتهي الاختبار
بدون استكشاف ما بعد الشاشة الأولى.