यह पृष्ठ फायरबेस टेस्ट लैब के साथ परीक्षण चलाने के बारे में समस्या निवारण सहायता और अक्सर पूछे जाने वाले प्रश्नों के उत्तर प्रदान करता है। ज्ञात मुद्दे भी प्रलेखित हैं। यदि आप जो खोज रहे हैं वह आपको नहीं मिल रहा है या आपको अतिरिक्त सहायता की आवश्यकता है, तो फायरबेस स्लैक पर #टेस्ट-लैब चैनल से जुड़ें या फायरबेस समर्थन से संपर्क करें।
समस्या निवारण
जब आप टेस्ट लैब कैटलॉग में उच्च क्षमता स्तर वाले डिवाइस का चयन करते हैं, तो परीक्षण तेजी से शुरू हो सकते हैं। जब किसी उपकरण की क्षमता कम होती है, तो परीक्षण चलने में अधिक समय लग सकता है। यदि किए गए परीक्षणों की संख्या चयनित उपकरणों की क्षमता से बहुत अधिक है, तो परीक्षणों को समाप्त होने में अधिक समय लग सकता है।
किसी भी स्तर की डिवाइस क्षमता स्तर पर चलने वाले परीक्षणों में निम्नलिखित कारकों के कारण अधिक समय लग सकता है:
- ट्रैफ़िक, जो डिवाइस की उपलब्धता और परीक्षण गति को प्रभावित करता है।
- डिवाइस या बुनियादी ढांचे की विफलता, जो किसी भी समय हो सकती है। यह जांचने के लिए कि क्या टेस्ट लैब के लिए रिपोर्ट किया गया बुनियादी ढांचा है, फायरबेस स्थिति डैशबोर्ड देखें।
टेस्ट लैब में डिवाइस क्षमता के बारे में अधिक जानने के लिए, Android और iOS के लिए डिवाइस क्षमता जानकारी देखें।
अनिर्णीत परीक्षण परिणाम आमतौर पर या तो रद्द किए गए परीक्षण रन या बुनियादी ढांचे की त्रुटियों के कारण होते हैं।
इन्फ्रास्ट्रक्चर त्रुटियाँ आंतरिक परीक्षण लैब समस्याओं, जैसे नेटवर्क त्रुटियों या अप्रत्याशित डिवाइस व्यवहार के कारण होती हैं। टेस्ट लैब अनिर्णायक परिणाम की रिपोर्ट करने से पहले कई बार बुनियादी ढांचे संबंधी त्रुटियों को उत्पन्न करने वाले टेस्ट रन को आंतरिक रूप से रिटायर कर देता है; हालाँकि, आप असफलफ़ास्ट का उपयोग करके इन पुनर्प्रयासों को अक्षम कर सकते हैं।
त्रुटि का कारण निर्धारित करने के लिए, इन चरणों का पालन करें:
- फायरबेस स्थिति डैशबोर्ड में ज्ञात आउटेज की जाँच करें।
यह सत्यापित करने के लिए कि यह प्रतिलिपि प्रस्तुत करने योग्य है, टेस्ट लैब में परीक्षण का पुनः प्रयास करें।
यदि लागू हो तो किसी भिन्न डिवाइस या डिवाइस प्रकार पर परीक्षण चलाने का प्रयास करें।
यदि समस्या बनी रहती है, तो फायरबेस स्लैक पर #test-lab चैनल में टेस्ट लैब टीम से संपर्क करें।
जब आपके द्वारा निर्दिष्ट शार्ड की संख्या टेस्ट लैब में उपयोग के लिए उपलब्ध उपकरणों की संख्या से अधिक हो जाती है, तो शेयरिंग के कारण आपके परीक्षण लंबे समय तक चल सकते हैं। इस स्थिति से बचने के लिए, किसी भिन्न डिवाइस पर स्विच करने का प्रयास करें। किसी भिन्न डिवाइस को चुनने के बारे में अधिक जानकारी के लिए,डिवाइस क्षमता ।
जब आप एक परीक्षण अनुरोध सबमिट करते हैं, तो किसी डिवाइस पर परीक्षण चलाने की तैयारी के लिए आपके ऐप को पहले सत्यापित किया जाता है, पुनः हस्ताक्षरित किया जाता है, आदि। आम तौर पर, यह प्रक्रिया कुछ सेकंड से भी कम समय में पूरी हो जाती है, लेकिन यह आपके ऐप के आकार जैसे कारकों से प्रभावित हो सकती है।
आपका ऐप तैयार होने के बाद, परीक्षण निष्पादन निर्धारित किया जाता है और तब तक कतार में रहता है जब तक कोई डिवाइस इसे चलाने के लिए तैयार नहीं हो जाता। जब तक सभी परीक्षण निष्पादन चलना समाप्त नहीं हो जाते, मैट्रिक्स स्थिति "लंबित" रहेगी (भले ही परीक्षण निष्पादन कतार में हों या सक्रिय रूप से चल रहे हों)।
परीक्षण निष्पादन समाप्त होने के बाद, परीक्षण कलाकृतियों को डिवाइस से डाउनलोड किया जाता है, संसाधित किया जाता है और क्लाउड स्टोरेज पर अपलोड किया जाता है। इस चरण की अवधि कलाकृतियों की मात्रा और आकार से प्रभावित हो सकती है।
अक्सर पूछे जाने वाले प्रश्नों
फायरबेस टेस्ट लैब उपकरणों पर परीक्षण और क्लाउड एपीआई का उपयोग करने के लिए निःशुल्क कोटा प्रदान करता है। ध्यान दें कि परीक्षण कोटा मानक फायरबेस मूल्य निर्धारण योजना का उपयोग करता है, जबकि क्लाउड एपीआई कोटा नहीं करता है।
परीक्षण कोटा
परीक्षण कोटा परीक्षण चलाने के लिए उपयोग किए जाने वाले उपकरणों की संख्या से निर्धारित होता है। फायरबेस स्पार्क योजना में उपयोगकर्ताओं के लिए बिना किसी शुल्क के एक निश्चित परीक्षण कोटा है। ब्लेज़ योजना के लिए, यदि समय के साथ Google क्लाउड का उपयोग बढ़ता है तो आपका कोटा बढ़ सकता है। यदि आप अपने परीक्षण कोटा तक पहुँच गए हैं, तो अगले दिन तक प्रतीक्षा करें या यदि आप वर्तमान में स्पार्क योजना पर हैं तो ब्लेज़ योजना में अपग्रेड करें। यदि आप पहले से ही ब्लेज़ योजना पर हैं, तो आप कोटा बढ़ाने का अनुरोध कर सकते हैं। अधिक जानकारी के लिए, परीक्षण कोटा देखें।
आप Google क्लाउड कंसोल में अपने परीक्षण कोटा उपयोग की निगरानी कर सकते हैं।
क्लाउड परीक्षण एपीआई कोटा
क्लाउड टेस्टिंग एपीआई दो कोटा सीमाओं के साथ आती है: प्रति प्रोजेक्ट प्रति दिन अनुरोध, और प्रति प्रोजेक्ट हर 100 सेकंड के लिए अनुरोध। आप Google क्लाउड कंसोल में अपने उपयोग की निगरानी कर सकते हैं।
क्लाउड टूल परिणाम एपीआई कोटा
क्लाउड टूल परिणाम एपीआई दो कोटा सीमाओं के साथ आता है: प्रति प्रोजेक्ट प्रति दिन प्रश्न, और प्रति प्रोजेक्ट प्रत्येक 100 सेकंड पर प्रश्न। आप Google क्लाउड कंसोल में अपने उपयोग की निगरानी कर सकते हैं।
एपीआई सीमाओं पर अधिक जानकारी के लिए टेस्ट लैब के लिए क्लाउड एपीआई कोटा देखें। यदि आप एपीआई कोटा तक पहुंच गए हैं:
अपने कोटा को सीधे Google क्लाउड कंसोल में संपादित करके उच्च कोटा के लिए अनुरोध सबमिट करें (ध्यान दें कि अधिकांश सीमाएँ डिफ़ॉल्ट रूप से अधिकतम पर सेट हैं), या
Google क्लाउड कंसोल में अनुरोध फ़ॉर्म भरकर या फ़ायरबेस समर्थन से संपर्क करके उच्च एपीआई कोटा का अनुरोध करें।
अपने बैकएंड से, आप हमारी आईपी श्रेणियों के विरुद्ध स्रोत आईपी पते की जांच करके यह निर्धारित कर सकते हैं कि फायरबेस-होस्ट किए गए परीक्षण उपकरणों से ट्रैफ़िक आ रहा है या नहीं।
टेस्ट लैब वीपीसी-एससी के साथ काम नहीं करता है, जो टेस्ट लैब के आंतरिक भंडारण और उपयोगकर्ताओं के परिणाम बकेट के बीच ऐप्स और अन्य परीक्षण कलाकृतियों की प्रतिलिपि को रोकता है।
आपके परीक्षणों में परतदार व्यवहार का पता लगाने के लिए, हम--num-flaky-test-attemptsविकल्प का उपयोग करने की सलाह देते हैं। डिफ्लेक रीरन को सामान्य परीक्षण निष्पादन के समान ही आपके दैनिक कोटा में बिल किया जाता है या गिना जाता है।
निम्नलिखित को ध्यान में रखें:
- विफलता का पता चलने पर संपूर्ण परीक्षण निष्पादन फिर से चलता है। केवल विफल परीक्षण मामलों को पुनः प्रयास करने के लिए कोई समर्थन नहीं है।
- डिफ्लेक रिट्री रन एक ही समय में चलने के लिए निर्धारित हैं, लेकिन समानांतर में चलने की गारंटी नहीं है, उदाहरण के लिए, जब ट्रैफ़िक उपलब्ध उपकरणों की संख्या से अधिक हो जाता है।
हालाँकि इनमें से कुछ आइटम हमारे रोडमैप पर हैं, हम वर्तमान में इन परीक्षण और ऐप विकास प्लेटफार्मों का समर्थन करने के लिए प्रतिबद्धता प्रदान करने में असमर्थ हैं।
विस्तृत डिवाइस जानकारी एपीआई के माध्यम से उपलब्ध है और इसे डिस्क्रिप्शन कमांड का उपयोग करके जीक्लाउड क्लाइंट से एक्सेस किया जा सकता है:
gcloud firebase test ios models describe MODEL
आईओएस के लिए टेस्ट लैब में शेयरिंग मूल रूप से समर्थित नहीं है। हालाँकि, आप iOS परीक्षण मामलों को शार्प करने के लिए फ़्लैंक क्लाइंट का उपयोग कर सकते हैं।
यह .xctestrun
फ़ाइल में OnlyTestIdentifiers
कुंजी और मान सेट करके काम करता है। अधिक विवरण के लिए xcodebuild.xctestrun
के लिए man
पेज देखें।
ज्ञात पहलु
रोबो परीक्षण साइन-इन स्क्रीन को बायपास नहीं कर सकता है, जिसमें साइन इन करने के लिए क्रेडेंशियल दर्ज करने के अलावा अतिरिक्त उपयोगकर्ता कार्रवाई की आवश्यकता होती है, उदाहरण के लिए, कैप्चा पूरा करना।
रोबो परीक्षण उन ऐप्स के साथ सबसे अच्छा काम करता है जो एंड्रॉइड यूआई फ्रेमवर्क ( View
, ViewGroup
और WebView
ऑब्जेक्ट्स सहित) से यूआई तत्वों का उपयोग करते हैं। यदि आप उन ऐप्स का उपयोग करने के लिए रोबो टेस्ट का उपयोग करते हैं जो अन्य यूआई फ्रेमवर्क का उपयोग करते हैं, जिसमें यूनिटी गेम इंजन का उपयोग करने वाले ऐप्स भी शामिल हैं, तो परीक्षण पहली स्क्रीन से परे खोज किए बिना बाहर निकल सकता है।
यह पृष्ठ फायरबेस टेस्ट लैब के साथ परीक्षण चलाने के बारे में समस्या निवारण सहायता और अक्सर पूछे जाने वाले प्रश्नों के उत्तर प्रदान करता है। ज्ञात मुद्दे भी प्रलेखित हैं। यदि आप जो खोज रहे हैं वह आपको नहीं मिल रहा है या आपको अतिरिक्त सहायता की आवश्यकता है, तो फायरबेस स्लैक पर #टेस्ट-लैब चैनल से जुड़ें या फायरबेस समर्थन से संपर्क करें।
समस्या निवारण
जब आप टेस्ट लैब कैटलॉग में उच्च क्षमता स्तर वाले डिवाइस का चयन करते हैं, तो परीक्षण तेजी से शुरू हो सकते हैं। जब किसी उपकरण की क्षमता कम होती है, तो परीक्षण चलने में अधिक समय लग सकता है। यदि किए गए परीक्षणों की संख्या चयनित उपकरणों की क्षमता से बहुत अधिक है, तो परीक्षणों को समाप्त होने में अधिक समय लग सकता है।
किसी भी स्तर की डिवाइस क्षमता स्तर पर चलने वाले परीक्षणों में निम्नलिखित कारकों के कारण अधिक समय लग सकता है:
- ट्रैफ़िक, जो डिवाइस की उपलब्धता और परीक्षण गति को प्रभावित करता है।
- डिवाइस या बुनियादी ढांचे की विफलता, जो किसी भी समय हो सकती है। यह जांचने के लिए कि क्या टेस्ट लैब के लिए रिपोर्ट किया गया बुनियादी ढांचा है, फायरबेस स्थिति डैशबोर्ड देखें।
टेस्ट लैब में डिवाइस क्षमता के बारे में अधिक जानने के लिए, Android और iOS के लिए डिवाइस क्षमता जानकारी देखें।
अनिर्णीत परीक्षण परिणाम आमतौर पर या तो रद्द किए गए परीक्षण रन या बुनियादी ढांचे की त्रुटियों के कारण होते हैं।
इन्फ्रास्ट्रक्चर त्रुटियाँ आंतरिक परीक्षण लैब समस्याओं, जैसे नेटवर्क त्रुटियों या अप्रत्याशित डिवाइस व्यवहार के कारण होती हैं। टेस्ट लैब अनिर्णायक परिणाम की रिपोर्ट करने से पहले कई बार बुनियादी ढांचे संबंधी त्रुटियों को उत्पन्न करने वाले टेस्ट रन को आंतरिक रूप से रिटायर कर देता है; हालाँकि, आप असफलफ़ास्ट का उपयोग करके इन पुनर्प्रयासों को अक्षम कर सकते हैं।
त्रुटि का कारण निर्धारित करने के लिए, इन चरणों का पालन करें:
- फायरबेस स्थिति डैशबोर्ड में ज्ञात आउटेज की जाँच करें।
यह सत्यापित करने के लिए कि यह प्रतिलिपि प्रस्तुत करने योग्य है, टेस्ट लैब में परीक्षण का पुनः प्रयास करें।
यदि लागू हो तो किसी भिन्न डिवाइस या डिवाइस प्रकार पर परीक्षण चलाने का प्रयास करें।
यदि समस्या बनी रहती है, तो फायरबेस स्लैक पर #test-lab चैनल में टेस्ट लैब टीम से संपर्क करें।
जब आपके द्वारा निर्दिष्ट शार्ड की संख्या टेस्ट लैब में उपयोग के लिए उपलब्ध उपकरणों की संख्या से अधिक हो जाती है, तो शेयरिंग के कारण आपके परीक्षण लंबे समय तक चल सकते हैं। इस स्थिति से बचने के लिए, किसी भिन्न डिवाइस पर स्विच करने का प्रयास करें। किसी भिन्न डिवाइस को चुनने के बारे में अधिक जानकारी के लिए,डिवाइस क्षमता ।
जब आप एक परीक्षण अनुरोध सबमिट करते हैं, तो किसी डिवाइस पर परीक्षण चलाने की तैयारी के लिए आपके ऐप को पहले सत्यापित किया जाता है, पुनः हस्ताक्षरित किया जाता है, आदि। आम तौर पर, यह प्रक्रिया कुछ सेकंड से भी कम समय में पूरी हो जाती है, लेकिन यह आपके ऐप के आकार जैसे कारकों से प्रभावित हो सकती है।
आपका ऐप तैयार होने के बाद, परीक्षण निष्पादन निर्धारित किया जाता है और तब तक कतार में रहता है जब तक कोई डिवाइस इसे चलाने के लिए तैयार नहीं हो जाता। जब तक सभी परीक्षण निष्पादन चलना समाप्त नहीं हो जाते, मैट्रिक्स स्थिति "लंबित" रहेगी (भले ही परीक्षण निष्पादन कतार में हों या सक्रिय रूप से चल रहे हों)।
परीक्षण निष्पादन समाप्त होने के बाद, परीक्षण कलाकृतियों को डिवाइस से डाउनलोड किया जाता है, संसाधित किया जाता है और क्लाउड स्टोरेज पर अपलोड किया जाता है। इस चरण की अवधि कलाकृतियों की मात्रा और आकार से प्रभावित हो सकती है।
अक्सर पूछे जाने वाले प्रश्नों
फायरबेस टेस्ट लैब उपकरणों पर परीक्षण और क्लाउड एपीआई का उपयोग करने के लिए निःशुल्क कोटा प्रदान करता है। ध्यान दें कि परीक्षण कोटा मानक फायरबेस मूल्य निर्धारण योजना का उपयोग करता है, जबकि क्लाउड एपीआई कोटा नहीं करता है।
परीक्षण कोटा
परीक्षण कोटा परीक्षण चलाने के लिए उपयोग किए जाने वाले उपकरणों की संख्या से निर्धारित होता है। फायरबेस स्पार्क योजना में उपयोगकर्ताओं के लिए बिना किसी शुल्क के एक निश्चित परीक्षण कोटा है। ब्लेज़ योजना के लिए, यदि समय के साथ Google क्लाउड का उपयोग बढ़ता है तो आपका कोटा बढ़ सकता है। यदि आप अपने परीक्षण कोटा तक पहुँच गए हैं, तो अगले दिन तक प्रतीक्षा करें या यदि आप वर्तमान में स्पार्क योजना पर हैं तो ब्लेज़ योजना में अपग्रेड करें। यदि आप पहले से ही ब्लेज़ योजना पर हैं, तो आप कोटा बढ़ाने का अनुरोध कर सकते हैं। अधिक जानकारी के लिए, परीक्षण कोटा देखें।
आप Google क्लाउड कंसोल में अपने परीक्षण कोटा उपयोग की निगरानी कर सकते हैं।
क्लाउड परीक्षण एपीआई कोटा
क्लाउड टेस्टिंग एपीआई दो कोटा सीमाओं के साथ आती है: प्रति प्रोजेक्ट प्रति दिन अनुरोध, और प्रति प्रोजेक्ट हर 100 सेकंड के लिए अनुरोध। आप Google क्लाउड कंसोल में अपने उपयोग की निगरानी कर सकते हैं।
क्लाउड टूल परिणाम एपीआई कोटा
क्लाउड टूल परिणाम एपीआई दो कोटा सीमाओं के साथ आता है: प्रति प्रोजेक्ट प्रति दिन प्रश्न, और प्रति प्रोजेक्ट प्रत्येक 100 सेकंड पर प्रश्न। आप Google क्लाउड कंसोल में अपने उपयोग की निगरानी कर सकते हैं।
एपीआई सीमाओं पर अधिक जानकारी के लिए टेस्ट लैब के लिए क्लाउड एपीआई कोटा देखें। यदि आप एपीआई कोटा तक पहुंच गए हैं:
अपने कोटा को सीधे Google क्लाउड कंसोल में संपादित करके उच्च कोटा के लिए अनुरोध सबमिट करें (ध्यान दें कि अधिकांश सीमाएँ डिफ़ॉल्ट रूप से अधिकतम पर सेट हैं), या
Google क्लाउड कंसोल में अनुरोध फ़ॉर्म भरकर या फ़ायरबेस समर्थन से संपर्क करके उच्च एपीआई कोटा का अनुरोध करें।
अपने बैकएंड से, आप हमारी आईपी श्रेणियों के विरुद्ध स्रोत आईपी पते की जांच करके यह निर्धारित कर सकते हैं कि फायरबेस-होस्ट किए गए परीक्षण उपकरणों से ट्रैफ़िक आ रहा है या नहीं।
टेस्ट लैब वीपीसी-एससी के साथ काम नहीं करता है, जो टेस्ट लैब के आंतरिक भंडारण और उपयोगकर्ताओं के परिणाम बकेट के बीच ऐप्स और अन्य परीक्षण कलाकृतियों की प्रतिलिपि को रोकता है।
आपके परीक्षणों में परतदार व्यवहार का पता लगाने के लिए, हम--num-flaky-test-attemptsविकल्प का उपयोग करने की सलाह देते हैं। डिफ्लेक रीरन को सामान्य परीक्षण निष्पादन के समान ही आपके दैनिक कोटा में बिल किया जाता है या गिना जाता है।
निम्नलिखित को ध्यान में रखें:
- विफलता का पता चलने पर संपूर्ण परीक्षण निष्पादन फिर से चलता है। केवल विफल परीक्षण मामलों को पुनः प्रयास करने के लिए कोई समर्थन नहीं है।
- डिफ्लेक रिट्री रन एक ही समय में चलने के लिए निर्धारित हैं, लेकिन समानांतर में चलने की गारंटी नहीं है, उदाहरण के लिए, जब ट्रैफ़िक उपलब्ध उपकरणों की संख्या से अधिक हो जाता है।
हालाँकि इनमें से कुछ आइटम हमारे रोडमैप पर हैं, हम वर्तमान में इन परीक्षण और ऐप विकास प्लेटफार्मों का समर्थन करने के लिए प्रतिबद्धता प्रदान करने में असमर्थ हैं।
विस्तृत डिवाइस जानकारी एपीआई के माध्यम से उपलब्ध है और इसे डिस्क्रिप्शन कमांड का उपयोग करके जीक्लाउड क्लाइंट से एक्सेस किया जा सकता है:
gcloud firebase test ios models describe MODEL
आईओएस के लिए टेस्ट लैब में शेयरिंग मूल रूप से समर्थित नहीं है। हालाँकि, आप iOS परीक्षण मामलों को शार्प करने के लिए फ़्लैंक क्लाइंट का उपयोग कर सकते हैं।
यह .xctestrun
फ़ाइल में OnlyTestIdentifiers
कुंजी और मान सेट करके काम करता है। अधिक विवरण के लिए xcodebuild.xctestrun
के लिए man
पेज देखें।
ज्ञात पहलु
रोबो परीक्षण साइन-इन स्क्रीन को बायपास नहीं कर सकता है, जिसमें साइन इन करने के लिए क्रेडेंशियल दर्ज करने के अलावा अतिरिक्त उपयोगकर्ता कार्रवाई की आवश्यकता होती है, उदाहरण के लिए, कैप्चा पूरा करना।
रोबो परीक्षण उन ऐप्स के साथ सबसे अच्छा काम करता है जो एंड्रॉइड यूआई फ्रेमवर्क ( View
, ViewGroup
और WebView
ऑब्जेक्ट्स सहित) से यूआई तत्वों का उपयोग करते हैं। यदि आप उन ऐप्स का उपयोग करने के लिए रोबो टेस्ट का उपयोग करते हैं जो अन्य यूआई फ्रेमवर्क का उपयोग करते हैं, जिसमें यूनिटी गेम इंजन का उपयोग करने वाले ऐप्स भी शामिल हैं, तो परीक्षण पहली स्क्रीन से परे खोज किए बिना बाहर निकल सकता है।
यह पृष्ठ फायरबेस टेस्ट लैब के साथ परीक्षण चलाने के बारे में समस्या निवारण सहायता और अक्सर पूछे जाने वाले प्रश्नों के उत्तर प्रदान करता है। ज्ञात मुद्दे भी प्रलेखित हैं। यदि आप जो खोज रहे हैं वह आपको नहीं मिल रहा है या आपको अतिरिक्त सहायता की आवश्यकता है, तो फायरबेस स्लैक पर #टेस्ट-लैब चैनल से जुड़ें या फायरबेस समर्थन से संपर्क करें।
समस्या निवारण
जब आप टेस्ट लैब कैटलॉग में उच्च क्षमता स्तर वाले डिवाइस का चयन करते हैं, तो परीक्षण तेजी से शुरू हो सकते हैं। जब किसी उपकरण की क्षमता कम होती है, तो परीक्षण चलने में अधिक समय लग सकता है। If the number of tests invoked is much larger than the capacity of the selected devices, tests can take longer to finish.
Tests running on any level device capacity level may take longer due to the following factors:
- Traffic, which affects device availability and test speed.
- Device or infrastructure failures, which can happen at any time. To check if there is a reported infrastructure for Test Lab, see the Firebase status dashboard .
To learn more about device capacity in Test Lab, see device capacity information for Android and iOS .
Inconclusive test outcomes commonly occur either because of canceled test runs or infrastructure errors.
Infrastructure errors are caused by internal Test Lab issues, like network errors or unexpected device behaviors. Test Lab internally retires test runs that produce infrastructure errors multiple times before reporting an inconclusive outcome; however, you can disable these retries using failFast .
To determine the cause of the error, follow these steps:
- Check for known outages in the Firebase status dashboard .
Retry the test in Test Lab to verify that it is reproducible.
Try running the test on a different device or device type, if applicable.
If the issue persists, contact the Test Lab team in the #test-lab channel on Firebase Slack.
Sharding can cause your tests to run longer when the number of shards you specified exceeds the number of devices available for use in Test Lab. To avoid this situation, try switching to a different device. For more information about choosing a different device, seeDevice Capacity .
When you submit a test request, your app is first validated, re-signed, etc. in preparation for running tests on a device. Normally, this process completes in less than a few seconds, but it can be affected by factors like the size of your app.
After your app is prepared, test executions are scheduled and remain in a queue until a device is ready to run it. Until all test executions finish running, the matrix status will be "Pending" (regardless of whether test executions are in the queue or actively running).
After the test execution is finished, test artifacts are downloaded from the device, processed, and uploaded to Cloud Storage. The duration of this step can be affected by the amount and size of the artifacts.
Frequently asked questions
Firebase Test Lab offers no-cost quotas for testing on devices and for using Cloud APIs. Note that the testing quota uses the standard Firebase pricing plan, while the Cloud API quotas do not.
Testing quota
Testing quotas are determined by the number of devices used to run tests. The Firebase Spark plan has a fixed testing quota at no cost to users. For the Blaze plan, your quotas might increase if your usage of Google Cloud increases over time. If you reach your testing quota, wait until the next day or upgrade to the Blaze plan if you are currently on the Spark plan. If you are already on the Blaze plan, you can request a quota increase. For more information, see Testing quota .
You can monitor your testing quota usage in the Google Cloud Console .
Cloud Testing API quota
The Cloud Testing API comes with two quota limits: requests per day per project, and requests per every 100 seconds per project. You can monitor your usage in the Google Cloud Console .
Cloud Tool Results API quota
The Cloud Tool Results API comes with two quota limits: queries per day per project, and queries per every 100 seconds per project. You can monitor your usage in the Google Cloud Console .
Refer to Cloud API quotas for Test Lab for more information on API limits. If you've reached an API quota:
Submit a request for higher quotas by editing your quotas directly in the Google Cloud Console (note that most limits are set to maximum by default), or
Request higher API quotas by filling out a request form in the Google Cloud Console or by contacting Firebase support .
From your backend, you can determine if traffic is coming from Firebase-hosted test devices by checking the source IP address against our IP ranges .
Test Lab does not work with VPC-SC, which blocks the copying of apps and other test artifacts between Test Lab's internal storage and users' results buckets.
To detect flaky behavior in your tests, we recommend using the--num-flaky-test-attemptsoption. Deflake reruns are billed or counted toward your daily quota the same as normal test executions.
Keep the following in mind:
- The entire test execution runs again when a failure is detected. There's no support for retrying only failed test cases.
- Deflake retry runs are scheduled to run at the same time, but are not guaranteed to run in parallel, for example, when traffic exceeds the number of available devices.
While some of these items are on our roadmap, we're currently unable to provide commitment to supporting these testing and app development platforms.
Detailed device information is available through the API and can be accessed from the gcloud client using the describe command :
gcloud firebase test ios models describe MODEL
Sharding isn't natively supported within Test Lab for iOS. However, you can use the Flank client to shard iOS test cases.
This works by setting OnlyTestIdentifiers
key and values in .xctestrun
file. See man
page for xcodebuild.xctestrun
for more details.
Known issues
Robo test cannot bypass sign-in screens that require additional user action beyond entering credentials to sign in, for example, completing a CAPTCHA.
Robo test works best with apps that use UI elements from the Android UI framework (including View
, ViewGroup
, and WebView
objects). If you use Robo test to exercise apps that use other UI frameworks, including apps that use the Unity game engine, the test may exit without exploring beyond the first screen.