Google Home टेस्ट सुइट

क्लाउड-टू-क्लाउड    लोकल होम SDK टूल

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

Test Suite का इस्तेमाल करने और सर्टिफ़िकेशन के लिए, Google को टेस्ट के नतीजे सबमिट करने के बारे में जानकारी पाने के लिए, स्मार्ट होम की कार्रवाइयों की जांच करना और उन्हें शेयर करना पेज देखें. 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 इंटिग्रेशन का सर्टिफ़िकेशन चाहिए, तो पक्का करें कि Test Request Sync विकल्प चालू हो. टेस्ट के दौरान, आपसे कोई डिवाइस जोड़ने, अपडेट करने या हटाने के लिए कहा जाएगा. साथ ही, यह भी जांचने के लिए कहा जाएगा कि Home Graph में डिवाइसों की सूची बदली है या नहीं. बदलाव करने वाली कार्रवाइयां, उस इंटिग्रेशन के ज़रिए की जाती हैं जिसकी जांच की जा रही है. जिस इंटिग्रेशन की जांच की जा रही है उसमें, एजेंट उपयोगकर्ता से कम से कम एक डिवाइस जुड़ा होना चाहिए.

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

    4. अगर लोकल होम डिवाइसों के लिए, टेस्ट सुइट चलाया जा रहा है, तो Local Home SDK टूल के साथ काम करता है को चुनें.

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

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

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

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

खाता लिंक करने की पुष्टि करने वाला टेस्ट

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

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

ऐक्सेस टोकन की पुष्टि करने वाला टेस्ट

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

टेस्ट के आइटम स्पष्टीकरण
यह देखना कि ऐक्सेस टोकन, 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.
यह देखना कि एक्सपायर होने वाले ऐक्सेस टोकन के साथ रीफ़्रेश टोकन है या नहीं. अगर ऐक्सेस टोकन एक्सपायर होने वाला है, तो रीफ़्रेश टोकन देना ज़रूरी है. अगर रीफ़्रेश टोकन नहीं मिलता है, तो यह टेस्ट फ़ेल हो जाएगा.

रीफ़्रेश टोकन की पुष्टि करने वाला टेस्ट

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

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

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

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

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

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

मॉड्यूल का डेटा पाने में गड़बड़ी: getModuleData में गड़बड़ी: https://hometestsuiteproxy-pa.googleapis.com/v1/module:get के लिए, एचटीटीपी फ़ेल होने का जवाब: 403 OK 403

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

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

सर्टिफ़िकेशन के लिए सबमिट करने से पहले, आपके 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. सभी ज़रूरी फ़ील्ड भरें. इसके बाद, सबमिट करें पर क्लिक करें.