Google Home टेस्ट सुइट

क्लाउड-टू-क्लाउड    लोकल होम एसडीके

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

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

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

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

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

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

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

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

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

गड़बड़ी का मैसेज ठीक करने का तरीका
प्रोजेक्ट <_id_> में, HomeGraph API का इस्तेमाल पहले नहीं किया गया है या यह बंद है पक्का करें कि आपने 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 में शामिल स्मार्ट होम डिवाइसों की जांच करना और उन्हें कंट्रोल करना
    अगर आपको अनुमति से जुड़ी कोई गड़बड़ी मिलती है, तो पहले ऐक्सेस हटाएं. इसके बाद, फिर से साइन इन करने पर, ऐसी स्क्रीन जहां OAuth के लिए सहमति दी जाती है में सभी अनुमतियां दें.

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

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