इस सेक्शन में, Tradefed के इंटरनल और उनके बीच के संबंधों के बारे में बताया गया है. ज़्यादा जानकारी के लिए, लिंक किए गए सबपेज देखें.
टेस्ट कॉन्फ़िगरेशन
Tradefed में टेस्ट कॉन्फ़िगरेशन, एक्सएमएल फ़ॉर्मैट में होते हैं. टेस्ट चलाने और उन्हें पसंद के मुताबिक बनाने के लिए, कॉन्फ़िगरेशन के स्ट्रक्चर को समझना ज़रूरी है.
टीएफ़ कॉन्फ़िगरेशन का स्ट्रक्चर
ग्लोबल टीएफ़ कॉन्फ़िगरेशन
ग्लोबल कॉन्फ़िगरेशन फ़ाइल, Tradefed का एक खास एक्सएमएल कॉन्फ़िगरेशन है. यह TF_GLOBAL_CONFIG
एनवायरमेंट वैरिएबल की मदद से Tradefed के शुरू होने पर लोड होती है. यह Tradefed इंस्टेंस के दायरे से जुड़े ऑब्जेक्ट लोड करता है. इनसे, हर्नेस के व्यवहार पर असर पड़ेगा.
ग्लोबल कॉन्फ़िगरेशन की जानकारी
कीस्टोर
कीस्टोर की मदद से, Tradefed में कमांड लाइन के विकल्पों को इंजेक्ट किया जा सकता है. ये विकल्प, कीस्टोर से आते हैं, ताकि सीधे कमांड लाइन पर वैल्यू का रेफ़रंस न दिया जा सके. इसका इस्तेमाल, कमांड-लाइन से पासवर्ड छिपाने के लिए किया जा सकता है. इसके लिए, सीधे तौर पर पासवर्ड को पासवर्ड सेव करने की जगह से वापस पाना होगा.
डिवाइस मैनेजर
Tradefed के चल रहे इंस्टेंस पर, डिवाइसों की स्थिति पर नज़र रखने की ज़िम्मेदारी डिवाइस मैनेजर की होती है. इसके तहत, ऐलोकेशन की स्थिति और ऑनलाइन स्थिति जैसे पहलुओं की निगरानी की जाती है.
टेस्ट कमांड शेड्यूलर
Tradefed में टेस्ट कमांड शेड्यूलर, निर्देशों को चलाने के लिए उन्हें डिवाइसों से जोड़ता है और टेस्ट को शुरू करता है.
सेवा देने वाली कंपनी
किसी भी टेस्ट को शुरू करने का पहला चरण, बिल्ड प्रोवाइडर चुनना होता है. यह टेस्ट सेट अप करने और उन्हें चलाने के लिए ज़रूरी संसाधन डाउनलोड करता है. जैसे, इमेज बनाना, APKs की जांच करना वगैरह. यह BuildInfo
ऑब्जेक्ट में भी इनका रेफ़रंस देता है, जिसे टेस्ट में पास किया जाएगा. स्थानीय तौर पर उपलब्ध संसाधनों को भी BuildInfo
ऑब्जेक्ट में लिंक किया जा सकता है.
टारगेट तैयार करने वाला और क्लीनर
टारगेट तैयार करने वाला टूल, वैकल्पिक कार्रवाइयां उपलब्ध कराता है. इन कार्रवाइयों की मदद से, जांच के दायरे में आने वाले टारगेट को किसी खास स्थिति में कॉन्फ़िगर किया जा सकता है. उदाहरण के लिए, डिवाइस को फ़्लैश करना, कुछ प्रॉपर्टी सेट करना, और वाई-फ़ाई से कनेक्ट करना.
टेस्ट रनर
Tradefed में टेस्ट रनर, उस ऑब्जेक्ट को दिखाता है जिसकी ज़िम्मेदारी असल टेस्ट को लागू करने की होती है. अलग-अलग टेस्ट रनर, टेस्ट को अलग-अलग तरीके से चलाते हैं. उदाहरण के लिए, इंस्ट्रूमेंटेशन टेस्ट रनर, JUnit टेस्ट रनर से काफ़ी अलग होगा.
नतीजे की शिकायत करने वाला व्यक्ति
Tradefed में नतीजा रिपोर्टर, उस ऑब्जेक्ट को रेफ़र करता है जो नतीजों को किसी खास डेस्टिनेशन पर भेजेगा. आम तौर पर, हर लागू करने का तरीका अलग-अलग रिज़ल्ट बैक-एंड के लिए खास होता है. साथ ही, नतीजों की रिपोर्टर, Tradefed के नतीजों के फ़ॉर्मैट को डेस्टिनेशन फ़ॉर्मैट में बदलने के लिए ज़िम्मेदार होती है.
इस सुविधा के साथ, किसी भी टेस्ट को किसी भी नतीजे के डेस्टिनेशन पर रिपोर्ट किया जा सकता है. साथ ही, अलग-अलग तरीके से आसानी से ज़्यादा टेस्ट जोड़े जा सकते हैं.
- नतीजे की जानकारी देने वाला टूल जोड़ना
- नतीजा रिपोर्टर और लॉग
- नतीजों की शिकायत करने वाले टूल की खास जानकारी
मेट्रिक कलेक्टर
मेट्रिक कलेक्टर, Tradefed में एक खास ऑब्जेक्ट है. यह टेस्ट को लागू करने के लिए नहीं होता. इसकी मदद से, टेस्ट के लाइफ़साइकल के अलग-अलग पॉइंट पर जानकारी इकट्ठा की जा सकती है. उदाहरण के लिए, टेस्ट शुरू होने और खत्म होने पर. कलेक्टर को जांच से अलग किया गया है. इसलिए, जांच में बदलाव किए बिना ही पॉइंट को स्वैप, जोड़ा, और हटाया जा सकता है.
होस्ट-वाइड सेटअप
इस सेक्शन में, उन सेटअप के बारे में बताया गया है जो Tradefed के पूरे इंस्टेंस के चलने पर लागू होते हैं. ये विकल्प, अलग-अलग परिस्थितियों में काम करने के लिए, पूरे हार्नेस के व्यवहार पर असर डालते हैं. उदाहरण के लिए, पाबंदी वाले नेटवर्क में काम करना.
कुछ और सुविधाएं
नीचे दिए गए सेक्शन में, Tradefed ऑब्जेक्ट के बजाय Tradefed के सामान्य इस्तेमाल के बारे में बताया गया है.
Tradefed का sharding
अगर टेस्ट कॉर्पस बड़ा है या उसे लागू होने में काफ़ी समय लगता है, तो उसे कई डिवाइसों में बांटा जा सकता है. हम इस स्प्लिट को शर्डिंग कहते हैं. इस सेक्शन में, शार्डिंग के काम करने के तरीके और इसे कॉन्फ़िगर करने के तरीके के बारे में बताया गया है.
SL4A का इस्तेमाल करना
Tradefed, Android के लिए स्क्रिप्टिंग लेयर, SL4A के साथ काम करता है. यह ऑटोमेशन टूलसेट है, जिसका इस्तेमाल करके प्लैटफ़ॉर्म के हिसाब से Android API को कॉल किया जा सकता है.
डाइनैमिक @option डाउनलोड
कुछ मामलों में, किसी टेस्ट या किसी खास ऑपरेशन के लिए ज़रूरी फ़ाइलें, डिवाइस में उपलब्ध नहीं होतीं. इस सुविधा की मदद से, Tradefed को इन फ़ाइलों को किसी रिमोट जगह से, बिल्ड की सेवा देने वाली कंपनी के ज़रिए भेजे बिना मिल जाता है.