Trade Federation, Android डिवाइसों पर टेस्ट चलाने के लिए, लगातार टेस्ट करने वाला फ़्रेमवर्क है. काम करने की जांच करने वाला सुइट (सीटीएस) चलाने के लिए, पहले ट्रेड फ़ेडरेशन की खास जानकारी पढ़ें. इससे आपको Tradefed के टेस्ट फ़्रेमवर्क के बारे में जानकारी मिलेगी.
टेस्ट प्लान चलाने के लिए:
- Android डिवाइस सेटअप के मुताबिक, जांच के दायरे में आने वाले डिवाइसों (DUTs) को सेट अप करें.
- पक्का करें कि आपने Android Debug Bridge (adb) और Android एसेट पैकेजिंग टूल (AAPT), दोनों के नए वर्शन इंस्टॉल किए हों. साथ ही, उन टूल की जगह को अपनी मशीन के सिस्टम पाथ में जोड़ दिया हो. इन टूल को इंस्टॉल करने के बारे में जानने के लिए, CTS: ADB और AAPT सेट अप करना लेख पढ़ें.
- अपनी Linux होस्ट मशीन पर, रिलीज़ किए गए CTS बिल्ड डाउनलोड करें और बिल्ड को होस्ट की जगह पर अनज़िप करें.
- कम से कम एक डिवाइस कनेक्ट करें. डीयूटी को तैयार करने के लिए:
- डिवाइस को होम स्क्रीन पर सेट करने के लिए, होम बटन दबाएं.
- किसी दूसरे काम के लिए DUT का इस्तेमाल न करें.
- सेंसर की गतिविधि को ट्रिगर करने से बचने के लिए, डीयूटी को एक ही जगह पर रखें.
- डिवाइस के कैमरे को किसी ऐसे ऑब्जेक्ट पर ले जाएं जिस पर फ़ोकस किया जा सकता हो.
- सीटीएस चलने के दौरान, डिवाइस पर कोई बटन न दबाएं. डीयूटी की स्क्रीन को छूने या बटन दबाने से, चल रहे टेस्ट में रुकावट आ सकती है. साथ ही, टेस्ट पूरा न हो पाने की संभावना भी बढ़ जाती है.
उस फ़ोल्डर से CTS कंसोल cts-tradefed स्क्रिप्ट लॉन्च करें जहां CTS पैकेज को अनज़िप किया गया है. होस्ट के कमांड-लाइन शेल पर, यह चलाएं:
./android-cts/tools/cts-tradefed
डिफ़ॉल्ट टेस्ट प्लान चलाएं (इसमें सभी टेस्ट पैकेज शामिल होते हैं):
- CTS 11 और उससे पहले के वर्शन के लिए
cts-tradefed > run cts
CTS 12 और उसके बाद के वर्शन के लिए
cts-console > run cts
अगर आपको जांच को पूरा करने में लगने वाले समय को कम करना है, तो कई डिवाइसों पर जांच को अलग-अलग हिस्सों में बांटें. शर्डिंग के लिए, होस्ट को कम से कम दो डिवाइस कनेक्ट करने होंगे. हालांकि, बेहतर परफ़ॉर्मेंस के लिए छह या उससे ज़्यादा डिवाइसों को कनेक्ट करने का सुझाव दिया जाता है. एक से ज़्यादा डिवाइसों को शर्ड करने पर:
Android 9 और उसके बाद के वर्शन के लिए, कमांड विकल्प का इस्तेमाल करें
--shard-count number_of_shards
Android 8.1 और इससे पहले के वर्शन के लिए, कमांड विकल्प का इस्तेमाल करें
--shards number_of_shards
अगर आपको पूरा टेस्ट सुइट नहीं चलाना है, तो कमांड लाइन से अपनी पसंद का CTS प्लान चलाया जा सकता है:
run cts --plan test_plan_name
टेस्ट प्लान का नाम ढूंढने के लिए:
Android 7.0 और उसके बाद के वर्शन के लिए, टेस्ट मॉड्यूल की सूची देखने के लिए,
list modules
Android 6.0 और इससे पुराने वर्शन के लिए, रिपॉज़िटरी में टेस्ट प्लान की सूची देखने के लिए,
list plans
Android 6.0 और उससे पहले के वर्शन के लिए, रिपॉज़िटरी में टेस्ट पैकेज की सूची देखने के लिए,
list packages
सीटीएस के वर्शन के हिसाब से, कमांड के अन्य विकल्पों के लिए, कंसोल कमांड रेफ़रंस देखें. इसके अलावा, Tradefed कंसोल में "सभी के लिए सहायता" में जाकर भी यह जानकारी देखी जा सकती है.
- CTS 11 और उससे पहले के वर्शन के लिए
जब तक सभी टेस्ट मॉड्यूल पूरे नहीं हो जाते और फिर से कोशिश करने के पिछले दो सेशन में, टेस्ट में फ़ेल होने की संख्या एक जैसी नहीं हो जाती, तब तक कई बार फिर से कोशिश करें.
Android 9 और उसके बाद के वर्शन के लिए,
run retry --retry session_number --shard-count number_of_shards
Android 7.0–8.1 के लिए,
run cts --retry session_number --shards number_of_shards
CTS के वर्शन के आधार पर, 'फिर से कोशिश करें' कमांड के अन्य विकल्पों के लिए, CTS v2 कमांड कंसोल देखें.
सीटीएस फिर से कोशिश करने की सुविधा को लागू करने के बारे में जानने के लिए, Trade Federation Suite फिर से कोशिश करना देखें.
सिर्फ़ पैरामीटर वाले उन टेस्ट के लिए फिर से कोशिश करें जो पूरे नहीं हो पाए. पैरामीटर वाले जिन टेस्ट को पास कर दिया गया है उन्हें फिर से नहीं चलाया जाता.
Android 11 और उसके बाद के वर्शन के लिए,
run cts
कमांड में डिफ़ॉल्ट रूप से, फिर से कोशिश करने का यह कमांड विकल्प चालू होता है:run retry --retry
--new-parameterized-handling
कंसोल पर, टेस्ट की प्रोग्रेस और रिपोर्ट किए गए नतीजे देखें.
Android Test Station का इस्तेमाल करके सीटीएस चलाना
Android Test Station, टेस्ट ऑटोमेशन टूल है. इसका इस्तेमाल करके, Android डेवलपर और टेस्ट इंजीनियर, स्टैंडर्ड टेस्ट सुइट चलाने के लिए यूज़र इंटरफ़ेस का इस्तेमाल कर सकते हैं. यह Android Compatibility Test Suite (CTS) के साथ काम करता है.
यह टूल, एटीएस उपयोगकर्ता गाइड के ज़रिए सार्वजनिक तौर पर उपलब्ध है. साथ ही, इसका कोड AOSP (multitest_transport
,tradefed_cluster
) में ओपन सोर्स है.
अन्य मोड के लिए सीटीएस चलाना
CTS 10 R4 रिलीज़ में, वैकल्पिक मोड वाले डिवाइसों या एक से ज़्यादा स्क्रीन वाले डिवाइसों के लिए टेस्ट प्लान जोड़ा गया है. run cts-foldable
का इस्तेमाल करके, वैकल्पिक मोड के टेस्ट प्लान को लागू करें.
वैकल्पिक स्क्रीन मोड के लिए पास या फ़ेल हुए टेस्ट केस, display_mode
की वैल्यू के साथ जोड़े जाते हैं. उदाहरण के लिए, testcase1[display_mode=0]
.
CTS 13 में, DeviceStateManager API की मदद से, फ़ोल्ड किए जा सकने वाले डिवाइस की अलग-अलग स्थितियों पर, नीचे दिए गए कॉन्फ़िगरेशन विकल्प के साथ टेस्ट मॉड्यूल चलाए जा सकते हैं.
डिवाइस में तय की गई डिसप्ले फ़ोल्डिंग स्थितियों के आधार पर, CTS में टेस्ट अपने-आप चलता है. इसके लिए, cts-foldable
टेस्ट प्लान चलाने की ज़रूरत नहीं होती.
<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />
सीटीएस में मल्टी-डिवाइस टेस्टिंग
Android 13 और उसके बाद के वर्शन, एक से ज़्यादा डिवाइसों पर टेस्ट करने की सुविधा देते हैं.
जिन टेस्ट के लिए एक से ज़्यादा डिवाइसों की ज़रूरत होती है वे CTS के चलने के दौरान अपने-आप शुरू हो जाते हैं.
CTS 13 में कई डिवाइसों के लिए कुछ टेस्ट शामिल हैं. ये टेस्ट, sharding का इस्तेमाल किए जाने पर अपने-आप ट्रिगर होते हैं. जांच के लिए, फ़िज़िकल सेटअप में कोई और बदलाव करने की ज़रूरत नहीं होती. हालांकि, जांच सही तरीके से चल सके, इसके लिए virtualenv
को इंस्टॉल करना ज़रूरी है. ज़्यादा जानकारी के लिए,
एक से ज़्यादा डिवाइसों पर इस्तेमाल किए जा सकने वाले सुइट देखें.
एक से ज़्यादा डिवाइसों पर टेस्ट करना
अलग-अलग डिवाइसों पर जांच करने के लिए, नीचे दिए गए कोड का इस्तेमाल करें:
cts-tradefed > run cts-multidevice
इसमें सभी सामान्य विकल्प काम करते हैं. किसी खास डिवाइस को टारगेट करने के लिए, टारगेट किए गए डिवाइसों की संख्या के हिसाब से --serial <serial1> --serial <serial2>
जोड़ें.
एक से ज़्यादा डिवाइसों पर टेस्ट अपने-आप ट्रिगर करने के लिए, --shard-count 2
में बताए गए तरीके से, टास्क को अलग-अलग हिस्सों में बांटें.