सीटीएस के ऑटोमेटेड टेस्ट चलाने के लिए, दो विकल्प हैं:
Trade Federation एक ऐप्लिकेशन और टेस्ट फ़्रेमवर्क है. इसकी मदद से, कमांड लाइन से टेस्ट चलाए जा सकते हैं. फ़्रेमवर्क की मदद से,
@Test
एनोटेशन का इस्तेमाल करके टेस्ट में एनोटेशन जोड़े जा सकते हैं. इसके बाद, ऐप्लिकेशन उन टेस्ट को ढूंढता है और चलाता है.OmniLab Android Test Station एक ऐसा ऐप्लिकेशन है जिसकी मदद से, जीयूआई में टेस्ट चलाए जा सकते हैं.
इस पेज पर, Trade Federation का इस्तेमाल करके ऑटोमेटेड टेस्ट चलाने का तरीका बताया गया है. OmniLab Android टेस्ट हार्नेस का इस्तेमाल करके टेस्ट चलाने के निर्देशों के लिए, OmniLab Android टेस्ट स्टेशन देखें.
अपने-आप चलने वाले सभी सीटीएस टेस्ट चलाना
Trade Federation में CTS कंसोल होता है. यह टेस्ट चलाने के लिए कमांड-लाइन इंटरफ़ेस होता है. सीटीएस का पूरा ऑटोमेटेड टेस्ट सुइट चलाने के लिए:
- पक्का करें कि आपने CTS की ऑटोमेटेड टेस्टिंग सेट अप करना लेख में दिए गए निर्देशों का पालन किया हो.
अपने टेस्ट वर्कस्टेशन पर, उस फ़ोल्डर से
cts-tradefed
स्क्रिप्ट चलाकर CTS कंसोल लॉन्च करें जहां CTS पैकेज को अनज़िप किया गया है:./android-cts/tools/cts-tradefed
CTS कंसोल में कर्सर दिखता है, ताकि आप CTS कमांड टाइप कर सकें (
cts-tradefed >
).cts
टेस्ट प्लान में, अपने-आप चलने वाले सभी सीटीएस टेस्ट शामिल होते हैं.cts
टेस्ट प्लान चलाने के लिए, यह कमांड चलाएं:run cts
अपने-आप चलने वाली सीटीएस जांचें शुरू हो जाती हैं. यहां दी गई बातों का ध्यान रखें:
Android 13 और इसके बाद के वर्शन, एक से ज़्यादा डिवाइसों पर टेस्ट करने की सुविधा देते हैं. ये टेस्ट सिर्फ़ तब अपने-आप चलते हैं, जब sharding का इस्तेमाल किया जाता है. टास्क को अलग-अलग हिस्सों में बांटने के बारे में ज़्यादा जानने के लिए, टेस्ट को पूरा करने में लगने वाले समय को कम करना लेख पढ़ें. अगर आपको इन टेस्ट को मैन्युअल तरीके से चलाना है, तो मल्टी-डिवाइस टेस्ट चलाना लेख पढ़ें.
CTS चलाते समय, मौजूदा CTS कंसोल को रोकने के लिए ctrl+c दबाएं. इसके बाद, CTS कंसोल को फिर से चलाएं.
एक ही होस्ट पर, सीटीएस के कई वर्शन नहीं चलाए जा सकते. ऐसा इसलिए, क्योंकि हर वर्शन, पहले से मौजूद ओपन लोकेशन कोड (ओएलसी) सर्वर के साथ खुलता है.
टेस्ट के नतीजे देखें. ज़्यादा जानकारी के लिए, सीटीएस के नतीजों को समझना लेख पढ़ें.
अगर यह पहली बार टेस्ट किया जा रहा है, तो हो सकता है कि कुछ टेस्ट आपके कंट्रोल से बाहर की समस्याओं की वजह से फ़ेल हो जाएं. उदाहरण के लिए, हो सकता है कि नेटवर्क कनेक्शन धीमा हो या जीपीएस सिग्नल कमज़ोर हो. टेस्ट को तब तक फिर से चलाएं (फिर से कोशिश करें), जब तक सभी टेस्ट मॉड्यूल पूरे नहीं हो जाते और टेस्ट में हुई गड़बड़ियों की संख्या, दो बार फिर से कोशिश करने के पिछले दो सेशन में एक जैसी न हो:
run retry --retry session_number`
अगर बार-बार कोशिश करने के बाद भी टेस्ट पूरा नहीं हो पाता है, तो बाकी टेस्ट को डीबग करने पर फ़ोकस करें. जांच के नतीजों से जुड़ी समस्या हल करने के बारे में जानने के लिए, टेस्ट में फ़ेल होने की समस्या हल करना और सीटीएस टेस्ट से जुड़ी समस्या हल करना लेख पढ़ें.
मल्टीस्क्रीन डिवाइसों के लिए सीटीएस चलाना
अगर आपके डिवाइस पर Android 11 या 12 वर्शन है और उसमें एक से ज़्यादा स्क्रीन हैं, तो आपको cts-foldable
टेस्ट प्लान को अलग से चलाना होगा:
run cts-foldable
वैकल्पिक स्क्रीन मोड के लिए पास या फ़ेल हुए टेस्ट केस, display_mode
की वैल्यू के साथ जोड़े जाते हैं. उदाहरण के लिए, testcase1[display_mode=0]
.
एक से ज़्यादा डिवाइसों पर टेस्ट चलाना
cts-multidevice
टेस्ट प्लान चलाने के लिए, यह कमांड चलाएं:
run cts-multidevice
अलग-अलग टेस्ट प्लान चलाना
सभी टेस्ट प्लान एक साथ चलाने के बजाय, अलग-अलग टेस्ट प्लान चलाए जा सकते हैं. यह विकल्प, समय बचाने और टेस्ट के किसी खास सेट पर फ़ोकस करने के लिए मददगार है. किसी एक टेस्ट प्लान को चलाने के लिए:
list modules
कमांड चलाकर, उस टेस्ट प्लान का नाम पता करें जिसे आपको चलाना है.टेस्ट प्लान चलाने के लिए:
run cts --plan test_module_or_plan_name
टेस्ट को पूरा करने में लगने वाले समय को कम करना
अगर आपको टेस्ट को पूरा करने में लगने वाले समय को कम करना है, तो टेस्ट को कई डिवाइसों पर चलाया जा सकता है. शर्ड करने के लिए, होस्ट को कम से कम दो डिवाइस कनेक्ट करने होंगे. हालांकि, बेहतर परफ़ॉर्मेंस के लिए छह या उससे ज़्यादा डिवाइसों को कनेक्ट करने का सुझाव दिया जाता है.
Android 11 या इसके बाद के वर्शन पर टेस्ट को अलग-अलग हिस्सों में बांटने के लिए, यह तरीका अपनाएं:
run cts --shard-count number_of_shards
इसके अलावा, पुष्टि करने के लिए टेस्ट चलाने से पहले, CTS run cts-dev
कमांड का इस्तेमाल करके, टेस्ट को लागू करने में लगने वाले समय को बेहतर बनाया जा सकता है. यह कमांड, ज़रूरी शर्तों, डिवाइस की जानकारी इकट्ठा करने, और सिस्टम की स्थिति की जांच करने वाली सभी सुविधाओं को स्किप कर देता है.
यह सिर्फ़ एक एबीआई पर टेस्ट चलाता है.