इस सेक्शन में, 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, इन फ़ाइलों को किसी रिमोट लोकेशन से ऐक्सेस कर सकता है. इसके लिए, उसे बिल्ड प्रोवाइडर की ज़रूरत नहीं पड़ती.