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