Google Home टेस्ट सुइट

Google Home Test Suite एक वेब ऐप्लिकेशन है. इसकी मदद से, स्मार्ट होम ऐक्शन की खुद ही जांच की जा सकती है. Test Suiteआपके खाते से जुड़े डिवाइसों और उनकी विशेषताओं के आधार पर, टेस्ट केस अपने-आप जनरेट करता है और उन्हें चलाता है. जांच पूरी करने के बाद, जांच के नतीजे देखे जा सकते हैं.

Test Suite का इस्तेमाल करने और सर्टिफ़िकेट पाने के लिए, Google को टेस्ट के नतीजे सबमिट करने का तरीका जानने के लिए, स्मार्ट होम के Actions की जांच करना और उन्हें शेयर करना पेज पर जाएं. Test Suite का यह वर्शन खास तौर पर डेवलपमेंट और क्वालिटी अश्योरेंस के लिए है.

Test Suite की ओर से किए गए टेस्ट में ये शामिल हैं. हालांकि, इनमें और भी टेस्ट शामिल हो सकते हैं:

  • यह कुकी यह जांच करती है कि आपके डिवाइसों और ट्रेट के लिए, Report State और Request Sync लागू किए गए हैं या नहीं.

  • इससे यह पुष्टि की जाती है कि आपके डिवाइस के लिए QUERY इंटेंट लागू किया गया है और इसके नतीजे, Report State के नतीजों से मेल खाते हैं.

नीचे दिए गए बटन पर क्लिक करके, Test Suite टूल लॉन्च किया जा सकता है:

लॉन्च करें Test Suite

अपने ऐक्शन की खुद जांच करना

इस सेक्शन में बताया गया है कि अपने डिवाइस और स्मार्ट होम ऐक्शन प्रोजेक्ट पर Test Suite को कैसे चलाया जाए. Test Suite को साइन इन करने की ज़रूरत होती है, ताकि वह आपके Google Home Graph में मौजूद डिवाइसों की जांच कर सके. साथ ही, सीधे Google Assistant को कमांड भेज सके.

अपने ऐक्शन की खुद जांच करने के लिए, यह तरीका अपनाएं:

  1. अपने वेब ब्राउज़र में, Test Suite खोलें.
  2. सबसे ऊपर दाएं कोने में मौजूद बटन का इस्तेमाल करके, Google में साइन इन करें.

  3. प्रोजेक्ट की जानकारी को कॉन्फ़िगर करें:

    1. प्रोजेक्ट आईडी फ़ील्ड में, अपने स्मार्ट होम ऐक्शन का प्रोजेक्ट आइडेंटिफ़ायर डालें.
    2. आगे बढ़ें पर क्लिक करें.
  4. टेस्ट सेटिंग कॉन्फ़िगर करें:

    1. अगर आपको Cloud-to-cloud इंटिग्रेशन को सर्टिफ़ाई करना है, तो Report State/Request Sync Timeout की डिफ़ॉल्ट वैल्यू में कोई बदलाव न करें. हालांकि, अगर आपका एजेंट Home Graph को स्थिति की जानकारी देने में ज़्यादा समय लेता है, तो टेस्टिंग के लिए टाइम आउट की वैल्यू बदली जा सकती है.
    2. अगर आपको Cloud-to-cloud इंटिग्रेशन को सर्टिफ़ाई करना है, तो पक्का करें कि सिंक करने का अनुरोध टेस्ट करें विकल्प चालू हो. टेस्टिंग के दौरान, आपको डिवाइस जोड़ने, अपडेट करने या हटाने के लिए कहा जाएगा. साथ ही, यह देखने के लिए कहा जाएगा कि होम ग्राफ़ में डिवाइस की सूची बदली है या नहीं. बदलाव, उस इंटिग्रेशन के ज़रिए किए जाते हैं जिसकी टेस्टिंग की जा रही है. टेस्ट किए जा रहे इंटिग्रेशन में, एजेंट उपयोगकर्ता से जुड़ा कम से कम एक डिवाइस हमेशा होना चाहिए.

    3. अगर Scene ट्रेट का इस्तेमाल किया जा रहा है, तो Test Scene trait को चुनें.

    4. अगर आपको लोकल होम डिवाइसों के लिए टेस्ट सुइट चलाना है, तो लोकल होम एसडीके टूल के साथ काम करता है को चुनें.

      1. लोकल फ़ुलफ़िलमेंट या आसानी से सेटअप करें को चुनें.
      2. अगर डिवाइस, QUERY इंटेंट को स्थानीय तौर पर हैंडल कर सकता है, तो Supports Local Query पर क्लिक करें.
  5. टेस्ट रन करें और नतीजे देखें:

    1. जांच शुरू करने के लिए, आगे बढ़ें पर क्लिक करें. इंटरफ़ेस में, टेस्ट किए जा रहे डिवाइस और उनकी सुविधाएं दिखाई गई हैं.
  6. नतीजे और सबमिट किया गया डेटा पेज देखें:

    1. जांच पूरी होने के बाद, नतीजे देखने के लिए आगे बढ़ें पर क्लिक करें.

जांच के नतीजों में, पास और फ़ेल हुए टेस्ट की संख्या शामिल होती है. साथ ही, पास होने का प्रतिशत दिखाने वाला फ़ाइनल स्कोर भी शामिल होता है.

खाता लिंक करने की प्रोसेस की पुष्टि करने से जुड़ी जांच

Google के स्मार्ट होम इकोसिस्टम में, खाता लिंक करने की सुविधा एक अहम भूमिका निभाती है. Test Suite में खाता जोड़ने की सुविधा की पुष्टि करने वाला टेस्ट, आपकी OAuth सेवा में संभावित समस्याओं की जांच करता है.

खाता लिंक करने की पुष्टि करने वाले टेस्ट में, ऐक्सेस टोकन और रीफ़्रेश टोकन की पुष्टि करने के लिए टेस्ट शामिल होते हैं:

ऐक्सेस टोकन की पुष्टि करने से जुड़ा टेस्ट

आपके टोकन एक्सचेंज एंडपॉइंट से मिले ऐक्सेस टोकन की जांच की जाती है. इससे यह पक्का किया जाता है कि वे मान्य फ़ॉर्मैट में हों और उन्हें मान्य रीफ़्रेश टोकन के साथ वापस भेजा गया हो.

टेस्ट आइटम जानकारी
देखें कि ऐक्सेस टोकन JWT फ़ॉर्मैट में है या नहीं Google खाता लिंक करने की सुविधा, JWT फ़ॉर्मैट के ऐक्सेस टोकन इस्तेमाल करने का सुझाव नहीं देती. अगर JWT फ़ॉर्मैट मिलता है, तो यह चेतावनी दिखती है: The access token seems to be JWT, this is not good. Because it unnecessarily exposes information about partner implementation and we recommend opaque symmetric encrypted access token.
जांच करें कि समयसीमा खत्म होने वाले ऐक्सेस टोकन में रीफ़्रेश टोकन है या नहीं. अगर ऐक्सेस टोकन की समयसीमा खत्म हो जाती है, तो रीफ़्रेश टोकन देना ज़रूरी है. अगर कोई रीफ़्रेश टोकन नहीं मिलता है, तो यह जांच पूरी नहीं हो पाएगी.

रीफ़्रेश टोकन की पुष्टि करने से जुड़ी जांच

रीफ़्रेश टोकन की जांच की जाती है, ताकि यह पक्का किया जा सके कि आपका टोकन एक्सचेंज एंडपॉइंट, उन्हें नए ऐक्सेस टोकन के लिए सही तरीके से एक्सचेंज करता है.

टेस्ट आइटम जानकारी
अमान्य रीफ़्रेश टोकन वाला रीफ़्रेश टोकन. पार्टनर के जवाब की जांच की जा रही है. अमान्य रीफ़्रेश टोकन के अनुरोध पर, आपके सर्वर को एचटीटीपी 400 गड़बड़ी का मैसेज दिखाना चाहिए. साथ ही, {"error": "invalid_grant"} भी दिखाना चाहिए. अगर जवाब, "गड़बड़ी के कोड या मैसेज" से मेल नहीं खाता है, तो यह टेस्ट केस फ़ेल हो जाएगा. ज़्यादा जानकारी के लिए, ऐक्सेस टोकन के लिए रीफ़्रेश टोकन बदलना पर जाएं.
जांच करें कि टोकन रीफ़्रेश करने के बाद, ऐक्सेस टोकन अपडेट हुआ है या नहीं. रीफ़्रेश टोकन के अनुरोधों के जवाब में, नए ऐक्सेस टोकन दिखाए जाने चाहिए. अगर आपका सर्वर एक ही ऐक्सेस टोकन देता है, तो टेस्ट केस पूरा नहीं होगा.
देखें कि समयसीमा खत्म न होने वाला ऐक्सेस टोकन अब भी मान्य है या नहीं. आपको ऐक्सेस टोकन के खत्म होने का समय दिखेगा.
जांच करें कि रीफ़्रेश करने के दौरान, रीफ़्रेश टोकन रोटेट किया गया है या नहीं. हम यह देखते हैं कि रीफ़्रेश टोकन के अनुरोध के बाद, रीफ़्रेश टोकन बदले गए हैं या नहीं. अगर रीफ़्रेश टोकन बदलता है, तो आपके सर्वर को सिर्फ़ तब पुराने रीफ़्रेश टोकन को अमान्य करना चाहिए, जब नए रीफ़्रेश टोकन का इस्तेमाल किया जा चुका हो. इससे रेस कंडीशन को रोका जा सकेगा. रेस कंडीशन की वजह से, उपयोगकर्ता का खाता लिंक नहीं हो पाता है. अगर नए रीफ़्रेश टोकन का इस्तेमाल करने से पहले, पुराने रीफ़्रेश टोकन को अमान्य कर दिया जाता है, तो टेस्ट पूरा नहीं होगा.

गड़बड़ी के मैसेज

यहां दी गई टेबल में, कुछ सामान्य गड़बड़ी के मैसेज और उन्हें ठीक करने का तरीका बताया गया है.

गड़बड़ी का मैसेज समस्या हल करने का तरीका
प्रोजेक्ट <_id_> में HomeGraph API का इस्तेमाल पहले नहीं किया गया है या इसे बंद कर दिया गया है पक्का करें कि आपने HomeGraph API चालू किया हो.
अनुरोध की गई इकाई नहीं मिली देख लें कि आपका agentUserId मान्य हो और आपकी सेवा से लिंक हो.

पक्का करें कि आपके पास resourcemanager.projects.get प्रोजेक्ट ${your project id} के लिए अनुमति हो और आपने सहमति स्क्रीन में सभी अनुमतियां दी हों.

मॉड्यूल का डेटा पाने में गड़बड़ी हुई: getModuleData error: Http failure response for https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403

  1. आईएएम अनुमतियों से जुड़ी समस्याओं को हल करने के लिए दिए गए निर्देशों का पालन करें. इससे यह पक्का किया जा सकेगा कि आपके खाते के पास प्रोजेक्ट के लिए resourcemanager.projects.get अनुमतियां हैं.
  2. आपके खाते के ऐक्सेस वाले ऐप्लिकेशन पेज पर जाएं. इसके बाद, "स्मार्ट होम के लिए टेस्ट सुइट" की ये अनुमतियां देखें:
    • खाते की बुनियादी जानकारी
      1. Google खाते का मुख्य ईमेल पता देखना
      2. अपनी वह निजी जानकारी देखें जो आपने सोशल मीडिया पर दी है
    • अतिरिक्त ऐक्सेस
      1. Assistant का इस्तेमाल करना: आपके Google खाते का पूरा ऐक्सेस
      2. आपके होम ग्राफ़ में शामिल स्मार्ट होम डिवाइसों की जांच करना और उन्हें कंट्रोल करना
    अगर आपको अनुमति से जुड़ी कोई गड़बड़ी मिलती है, तो पहले ऐक्सेस हटा दें. इसके बाद, दोबारा साइन इन करते समय सहमति वाली स्क्रीन पर सभी अनुमतियां दें.

टेस्ट के नतीजे सबमिट करना

सर्टिफ़िकेशन के लिए सबमिट करने से पहले, आपके Test Suite नतीजे सभी टेस्ट में पास होने चाहिए. अगर आपके पास ऐसी कोई विशेषता है जिसके लिए मैन्युअल टेस्टिंग की ज़रूरत है, तो आपको Test Suite टूल का इस्तेमाल करना चाहिए. साथ ही, नतीजे को अटैच करना चाहिए. भले ही, वह 100% पास न हुआ हो.

टेस्ट के नतीजे सबमिट करने और Cloud-to-cloud इंटिग्रेशन की पुष्टि करने के लिए, यह तरीका अपनाएं:

  1. टेस्ट के नतीजे मिलने के बाद, अगर आपको अपने Cloud-to-cloud इंटिग्रेशन को सर्टिफ़ाई करना है, तो Test Suite टूल में जाकर सबमिट करें पर क्लिक करें.
  2. Google Home Developer Console > Cloud-to-cloud > सर्टिफ़िकेट दें पर जाएं.
  3. वह इंटिग्रेशन चुनें जिसके लिए आपको सर्टिफ़िकेट पाना है.
  4. दस्तावेज़ में जाकर, अपना Test Suiteनतीजे का आईडी डालें.
  5. सभी ज़रूरी फ़ील्ड भरें. इसके बाद, सबमिट करें पर क्लिक करें.