कैमरा ITS फोल्डेबल्स का परीक्षण

एंड्रॉइड 13 से, कैमरा आईटीएस में फोल्डेबल डिवाइस के लिए परीक्षण समर्थन शामिल है। फोल्डेबल डिवाइस में ऐसे कैमरे होते हैं जो उपलब्ध या अनुपलब्ध होते हैं, यह इस बात पर निर्भर करता है कि डिवाइस मुड़ा हुआ है या खुला हुआ है।

कैमरा आईडी डिवाइस प्रकार, मॉडल और ब्रांड के आधार पर बदलती है; और भौतिक फ्रंट कैमरे की उपलब्धता राज्य के आधार पर बदलती रहती है। इस वजह से, कैमरा आईटीएस परीक्षण के लिए उपयोग करने के लिए दृश्य और कैमरा संयोजनों को गतिशील रूप से निर्धारित करता है। चूंकि कैमरों को मुड़े हुए और खुले हुए दोनों स्थितियों में परीक्षण करने की आवश्यकता होती है, इसलिए फोल्डेबल परीक्षण के लिए परीक्षण प्रक्रिया के दौरान DUT को फिर से माउंट करने की आवश्यकता होती है।

फ्रंट और रियर कैमरे की टेस्टिंग

फोल्डेबल डिवाइस पर उपलब्ध कैमरा सेंसर अलग-अलग होते हैं, यह इस बात पर निर्भर करता है कि डिवाइस मुड़ा हुआ है या खुला हुआ है। फोल्डेबल के लिए, फ्रंट कैमरे की उपलब्धता स्थिति के आधार पर बदलती रहती है। उदाहरण के लिए, फ्रंट कैमरा मुड़ा हुआ अवस्था में उपलब्ध नहीं है। फ्रंट कैमरे की उपलब्धता में इस बदलाव के कारण, फ्रंट कैमरों का परीक्षण मुड़े हुए और खुले हुए दोनों स्थितियों में किया जाना चाहिए। कैमरा ITS मानता है कि चाहे डिवाइस मुड़ा हुआ हो या खुला हो, पीछे के कैमरे की उपलब्धता समान रहती है, इसलिए पीछे के कैमरों को केवल एक बार परीक्षण करने की आवश्यकता होती है।

डिवाइस की स्थिति के आधार पर, कैमरा ITS अनुपलब्ध कैमरा डिवाइसों को फ़िल्टर कर देता है और कैमरा डिवाइस कैमरा और दृश्य संयोजनों की सूची में दिखाई नहीं देते हैं।

निम्न तालिका प्रत्येक कैमरा ओरिएंटेशन के लिए कैमरा आईटीएस परीक्षण व्यवहार का वर्णन करती है।

कैमरा ओरिएंटेशन कैमरा इसका परीक्षण व्यवहार
पीछे का कैमरा कैमरे का एक बार मुड़ा हुआ या खुला हुआ अवस्था में परीक्षण किया जाता है
प्राइमरी फ्रंट कैमरा कैमरे का परीक्षण एक बार मुड़ा हुआ अवस्था में और एक बार खुला हुआ अवस्था में करता है।
फिजिकल फ्रंट कैमरा कैमरे का परीक्षण केवल उन्हीं राज्यों में किया जाता है जहां कैमरा उपलब्ध है।

परीक्षण प्रक्रिया

यह अनुभाग फोल्डेबल डिवाइसों के लिए कैमरों का परीक्षण करने के चरणों का वर्णन करता है।

डिवाइस सेट करें

सेटअप जानकारी के लिए, सेटअप देखें।

परीक्षण एपीआई पहुंच प्रदान करें

कैमरा आईटीएस के लिए यह निर्धारित करने के लिए कि डिवाइस फोल्डेबल है या नहीं, आपको परीक्षण शुरू करने से पहले परीक्षण एपीआई एक्सेस प्रदान करना होगा। यदि पहुंच प्रदान नहीं की गई है, तो कैमरा आईटीएस परीक्षण चलाने से ऐप क्रैश हो जाएगा।

पहुँच प्रदान करने के लिए, निम्नलिखित ADB कमांड चलाएँ। इस कमांड को एक डिवाइस के लिए एक बार चलाने की जरूरत है। यदि सीटीएस सत्यापनकर्ता को किसी भिन्न संस्करण के साथ पुनः स्थापित किया गया है, तो आपको कमांड को फिर से चलाना होगा।

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier

विन्यास फाइल

यह निर्दिष्ट करने के लिए कि डिवाइस एक फोल्डेबल डिवाइस है, config.yml फ़ाइल में tablet और sensor_fusion टेस्टबेड्स दोनों में foldable_device पैरामीटर जोड़ें। कैमरा आईटीएस इस पैरामीटर का उपयोग फोल्डेड और अनफोल्डेड स्थितियों के लिए camera_id और दृश्य संयोजन निर्धारित करने के लिए करता है।

फोल्डेबल डिवाइस के लिए config.yml फ़ाइल का एक उदाहरण निम्नलिखित है।

TestBeds:
  - Name: TABLET_SCENES
    # Test configuration for scenes[0:4, 6]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"     # "quotes" needed
      chart_loc_arg: ""
      camera: 0
      scene: scene2_a
  lighting_cntl: arduino    # can be "arduino" or "None"
  lighting_ch: 1
  foldable_device: "True"     # "False" for non-foldable DUTs

परीक्षण चलाएँ

फोल्डेबल डिवाइस पर ITS परीक्षण चलाने के लिए, run_all_tests.py कमांड चलाएँ। विवरण के लिए, परीक्षण लागू करना देखें।

फोल्डेबल डिवाइस पर कैमरा ITS चलाते समय, प्राथमिक फ्रंट कैमरे को फोल्ड और अनफोल्ड दोनों स्थितियों में परीक्षण किया जाता है। यदि डिवाइस को मोड़ा गया है, तो परिणाम CTS सत्यापनकर्ता ऐप में camera1_ SCENE_NAME _folded विकल्प के अंतर्गत प्रदर्शित होते हैं। डिवाइस की स्थिति के आधार पर, कुछ फ्रंट फिजिकल कैमरा आईडी अनुपलब्ध हैं और उनका परीक्षण नहीं किया गया है। रियर कैमरे को केवल एक स्थिति में परीक्षण करने की आवश्यकता है, अधिमानतः मुड़ी हुई स्थिति में, और पीछे के कैमरे के परिणामों में _folded प्रत्यय नहीं है।

यह सुनिश्चित करने के लिए कि फोल्ड किए गए दृश्यों को डिवाइस को फोल्ड करके निष्पादित किया जाता है और फोल्डेबल DUT की स्थिति की जांच करें, निम्न कमांड चलाएँ।

adb shell cmd device_state state

मुड़ी हुई स्थिति में परीक्षण निष्पादित करते समय, कैमरा आईटीएस टर्मिनल में एक संदेश प्रदर्शित करता है ताकि उपयोगकर्ता को आईटीएस बॉक्स पर डिवाइस को ठीक से सेट करने के लिए संकेत दिया जा सके। संकेत के बाद परीक्षण निष्पादित करना जारी रखने के लिए, Enter दबाएँ।

यदि आप सभी दृश्यों को मुड़े हुए और खुले हुए दोनों अवस्थाओं में चला रहे हैं, तो पहले मुड़े हुए दृश्यों को निष्पादित किया जाता है, उसके बाद खुले हुए दृश्यों को। यह परीक्षण के दौरान आवश्यक रीमाउंटिंग की मात्रा को कम करता है।

कैमरा आईटीएस मुड़े हुए राज्य दृश्यों के लिए बनाई गई tmp निर्देशिका में folded प्रत्यय को भी जोड़ता है।

नमूना आदेश

फोल्डेबल डिवाइस पर परीक्षण निष्पादन के लिए नमूना आदेश निम्नलिखित हैं।

आज्ञा विवरण
python tools/run_all_tests.py सभी दृश्य चलाता है.
python tools/run_all_tests.py scenes=scene0 चलता है दृश्य0. यदि डिवाइस मुड़ा हुआ है और उपयोगकर्ता प्राथमिक फ्रंट कैमरे का परीक्षण कर रहा है, तो स्क्रिप्ट डिवाइस की स्थिति निर्धारित करती है और दृश्य नाम में प्रत्यय _folded जोड़ देती है। उपयोगकर्ताओं को फ़ोल्ड किए गए दृश्यों को चलाने के लिए प्रत्यय जोड़ने की आवश्यकता नहीं है।
python tests/scene0/ -c config.yml python tests/scene0/ -c config.yml एक विशिष्ट परीक्षण चलाता है.