टेस्ट लैब की समस्या का हल & अक्सर पूछे जाने वाले सवाल
इस पेज पर, समस्या हल करने में मदद मिलती है. साथ ही, Firebase Test Lab की मदद से टेस्ट चलाने के बारे में अक्सर पूछे जाने वाले सवालों के जवाब भी मिलते हैं. पहले से मालूम समस्याओं की जानकारी भी दी जाती है. अगर आपको अपनी ज़रूरत के मुताबिक जानकारी नहीं मिल पा रही है या आपको और मदद चाहिए, तो Firebase Slack पर #test-lab channel में शामिल हों या Firebase की सहायता टीम से संपर्क करें.
समस्या का हल
मेरे टेस्ट को पूरा होने में इतना समय क्यों लग रहा है?
Test Labकैटलॉग में, ज़्यादा कैपेसिटी वाला डिवाइस चुनने पर, टेस्ट तेज़ी से शुरू हो सकते हैं. जब किसी डिवाइस की क्षमता कम होती है, तो जांच में ज़्यादा समय लग सकता है. अगर शुरू की गई जांचों की संख्या, चुने गए डिवाइसों की क्षमता से काफ़ी ज़्यादा है, तो जांचों को पूरा होने में ज़्यादा समय लग सकता है.
डिवाइस की क्षमता के किसी भी लेवल पर चल रहे टेस्ट में, इन वजहों से ज़्यादा समय लग सकता है:
ट्रैफ़िक, जिससे डिवाइस की उपलब्धता और जांच की स्पीड पर असर पड़ता है.
डिवाइस या इन्फ़्रास्ट्रक्चर में होने वाली गड़बड़ियां, जो कभी भी हो सकती हैं. Test Lab के लिए, कोई इन्फ़्रास्ट्रक्चर रिपोर्ट किया गया है या नहीं, यह देखने के लिए Firebase का स्टेटस डैशबोर्ड देखें.
Test Lab में डिवाइस की क्षमता के बारे में ज़्यादा जानने के लिए, Android और iOS के लिए डिवाइस की क्षमता के बारे में जानकारी देखें.
मुझे जांच के अधूरे नतीजे क्यों मिल रहे हैं?
जांच के नतीजे साफ़ तौर पर न मिलने की वजह, आम तौर पर जांच की प्रोसेस रद्द होने या इन्फ़्रास्ट्रक्चर से जुड़ी गड़बड़ियों की वजह से होती है.
इन्फ़्रास्ट्रक्चर से जुड़ी गड़बड़ियां, Test Lab से जुड़ी अंदरूनी समस्याओं की वजह से होती हैं. जैसे, नेटवर्क से जुड़ी गड़बड़ियां या डिवाइस के गलत तरीके से काम करना. Test Lab, अमान्य नतीजे की रिपोर्ट करने से पहले, ऐसे टेस्ट रन को इंटरनल तौर पर बंद कर देता है जिनसे इन्फ़्रास्ट्रक्चर से जुड़ी गड़बड़ियां कई बार होती हैं. हालांकि, failFast का इस्तेमाल करके, इन रीट्राइ को बंद किया जा सकता है.
Test Lab में जाकर, जांच को फिर से करें. इससे यह पुष्टि की जा सकेगी कि समस्या दोबारा आ सकती है या नहीं.
अगर लागू हो, तो किसी दूसरे डिवाइस या डिवाइस टाइप पर जांच करें.
अगर समस्या बनी रहती है, तो Firebase Slack पर #test-lab चैनल में जाकर, Test Lab टीम से संपर्क करें.
मेरे टेस्ट ज़्यादा समय क्यों चले, क्योंकि मैंने डेटा को अलग-अलग हिस्सों में बांटा था?
अगर आपने Test Lab में इस्तेमाल के लिए उपलब्ध डिवाइसों की संख्या से ज़्यादा शर्ड तय किए हैं, तो शर्ड करने की वजह से आपके टेस्ट ज़्यादा समय तक चल सकते हैं. इस स्थिति से बचने के लिए, किसी दूसरे डिवाइस पर स्विच करें. किसी दूसरे डिवाइस को चुनने के बारे में ज़्यादा जानने के लिए,
डिवाइस की कैपेसिटी.
जांच शुरू होने में इतना समय क्यों लग रहा है?
टेस्ट का अनुरोध सबमिट करने पर, आपके ऐप्लिकेशन की पुष्टि की जाती है, फिर उस पर फिर से हस्ताक्षर किए जाते हैं. ऐसा, डिवाइस पर टेस्ट चलाने की तैयारी के लिए किया जाता है. आम तौर पर, यह प्रोसेस कुछ सेकंड में पूरी हो जाती है. हालांकि, आपके ऐप्लिकेशन के साइज़ जैसे फ़ैक्टर से इस पर असर पड़ सकता है.
ऐप्लिकेशन तैयार होने के बाद, टेस्ट को शेड्यूल किया जाता है. इसके बाद, टेस्ट तब तक कतार में बने रहते हैं, जब तक कोई डिवाइस इसे चलाने के लिए तैयार नहीं हो जाता. जब तक सभी टेस्ट रनिंग की प्रोसेस पूरी नहीं हो जाती, तब तक मैट्रिक का स्टेटस "मंज़ूरी बाकी है" रहेगा. भले ही, टेस्ट रनिंग की प्रोसेस, सूची में हो या चल रही हो.
जांच पूरी होने में इतना समय क्यों लग रहा है?
जांच पूरी होने के बाद, डिवाइस से जांच के आर्टफ़ैक्ट डाउनलोड किए जाते हैं, प्रोसेस किए जाते हैं, और Cloud Storage पर अपलोड किए जाते हैं. इस चरण में लगने वाले समय पर, आर्टफ़ैक्ट की संख्या और साइज़ का असर पड़ सकता है.
अक्सर पूछे जाने वाले सवाल
Test Lab के लिए, बिना किसी शुल्क के मिलने वाले कोटा क्या हैं? अगर मेरे पास ज़रूरत के मुताबिक टिकट नहीं हैं, तो मुझे क्या करना चाहिए?
Firebase Test Lab, डिवाइसों पर जांच करने और Cloud API का इस्तेमाल करने के लिए, बिना किसी शुल्क के कोटा उपलब्ध कराता है. ध्यान दें कि टेस्टिंग कोटा, Firebase के स्टैंडर्ड शुल्क वाले प्लान का इस्तेमाल करता है, जबकि Cloud API कोटा ऐसा नहीं करता.
टेस्टिंग कोटा
जांच के कोटे, जांच करने के लिए इस्तेमाल किए गए डिवाइसों की संख्या के हिसाब से तय किए जाते हैं.
Firebase Spark प्लान में, उपयोगकर्ताओं को बिना किसी शुल्क के टेस्टिंग का तय कोटा मिलता है. अगर समय के साथ Google Cloud का इस्तेमाल बढ़ता है, तो Blaze प्लान के लिए आपके कोटा में बढ़ोतरी हो सकती है. अगर आपने टेस्टिंग के लिए तय कोटा पूरा कर लिया है, तो अगले दिन तक इंतज़ार करें. अगर आपने फ़िलहाल स्पार्क प्लान लिया है, तो ब्लेज़ प्लान पर अपग्रेड करें.
अगर आपने पहले से ही Blaze प्लान लिया हुआ है, तो कोटा बढ़ाने का अनुरोध किया जा सकता है.
ज़्यादा जानकारी के लिए, टेस्टिंग कोटा देखें.
Google Cloud console में जाकर, टेस्टिंग कोटा के इस्तेमाल को मॉनिटर किया जा सकता है.
Cloud Testing API कोटा
Cloud Testing API के लिए, कोटा की दो सीमाएं तय की गई हैं: हर प्रोजेक्ट के लिए हर दिन के अनुरोध और हर प्रोजेक्ट के लिए हर 100 सेकंड के अनुरोध. Google Cloud कंसोल में जाकर, अपनी सदस्यता के इस्तेमाल को मॉनिटर किया जा सकता है.
Cloud Tool Results API का कोटा
Cloud Tool Results API के लिए, कोटा की दो सीमाएं तय की गई हैं: हर प्रोजेक्ट के लिए हर दिन की जाने वाली क्वेरी और हर प्रोजेक्ट के लिए हर 100 सेकंड में की जाने वाली क्वेरी. Google Cloud कंसोल में जाकर, अपनी सदस्यता के इस्तेमाल को मॉनिटर किया जा सकता है.
एपीआई की सीमाओं के बारे में ज़्यादा जानकारी के लिए, Test Lab के लिए Cloud API कोटा देखें. अगर आपने एपीआई कोटा पूरा कर लिया है, तो:
Google Cloud कंसोल में जाकर, अपने कोटे में बदलाव करके ज़्यादा कोटे के लिए अनुरोध सबमिट करें. ध्यान दें कि ज़्यादातर सीमाएं डिफ़ॉल्ट रूप से ज़्यादा से ज़्यादा पर सेट होती हैं या
Google Cloud कंसोल में अनुरोध फ़ॉर्म भरकर या Firebase की सहायता टीम से संपर्क करके, एपीआई के लिए ज़्यादा कोटा का अनुरोध करें.
मुझे कैसे पता चलेगा कि मेरे बैकएंड पर पहुंचने वाला ट्रैफ़िक, Test Lab से आ रहा है या नहीं?
अपने बैकएंड से, यह पता लगाया जा सकता है कि ट्रैफ़िक Firebase के होस्ट किए गए टेस्ट डिवाइसों से आ रहा है या नहीं. इसके लिए, सोर्स आईपी पते की तुलना हमारी आईपी रेंज से करें.
क्या 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 command का इस्तेमाल करें:
gcloud firebase test ios models describe MODEL
क्या iOS टेस्ट के साथ, शार्डिंग का इस्तेमाल किया जा सकता है?
iOS के लिए Test Lab में, डेटा का बंटवारा करने की सुविधा काम नहीं करती. हालांकि, iOS टेस्ट केस को अलग-अलग ग्रुप में बांटने के लिए, Flank क्लाइंट का इस्तेमाल किया जा सकता है.
यह .xctestrun फ़ाइल में OnlyTestIdentifiers कुंजी और वैल्यू सेट करके काम करता है.
ज़्यादा जानकारी के लिए, xcodebuild.xctestrun के लिए man पेज देखें.
ज्ञात समस्याएं
साइन इन करने के लिए कैप्चा
रोबो टेस्ट, साइन इन स्क्रीन को बायपास नहीं कर सकता. इन स्क्रीन पर, साइन इन करने के लिए क्रेडेंशियल डालने के अलावा, उपयोगकर्ता को कुछ और कार्रवाइयां भी करनी पड़ती हैं. उदाहरण के लिए, कैप्चा भरना.
यूज़र इंटरफ़ेस (यूआई) फ़्रेमवर्क के लिए सहायता
रोबो टेस्ट, उन ऐप्लिकेशन के साथ सबसे अच्छा काम करता है जो Android यूज़र इंटरफ़ेस (यूआई) फ़्रेमवर्क के यूआई एलिमेंट का इस्तेमाल करते हैं. इनमें View, ViewGroup, और WebView ऑब्जेक्ट शामिल हैं. अगर Unity गेम इंजन का इस्तेमाल करने वाले ऐप्लिकेशन के साथ-साथ, अन्य यूआई फ़्रेमवर्क का इस्तेमाल करने वाले ऐप्लिकेशन की जांच करने के लिए रोबो टेस्ट का इस्तेमाल किया जाता है, तो हो सकता है कि टेस्ट पहली स्क्रीन से आगे बढ़े बिना ही बंद हो जाए.