दस्तावेज़ीकरण
/

टेस्टिंग और CI

टेस्टिंग और CI

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

टेस्ट के लिए अलग बिल्ड क्यों चाहिए

उन्नत सुरक्षा (VM Self Defending, VM Debug Protection, VM Domain Lock, और उनके बेसिक समकक्ष selfDefending, debugProtection और domainLock) आपके अपने एजेंट, ऑटोमेशन और डिबगर पर भी असर डालती है। यह निष्पादन रोक सकती है, असंबंधित एरर दे सकती है या गलत नतीजे दे सकती है। disableConsoleOutput console मेथड्स को ग्लोबल रूप से खाली फ़ंक्शन्स से बदल देता है, पेज की हर स्क्रिप्ट के लिए, केवल ऑब्फ़स्केटेड स्क्रिप्ट के लिए नहीं, इसलिए लॉग पर आधारित जाँचों को कुछ दिखाई नहीं देता। फ़ंक्शनल टेस्ट एक अलग टेस्टिंग बिल्ड पर चलाएँ जिसमें ये सुविधाएँ बंद हों।

फ़ंक्शनल टेस्ट कॉन्फ़िगरेशन

टेस्टिंग कॉन्फ़िगरेशन अपनी साझा सेटिंग्स से बनाएँ और प्रीसेट चुनने के बाद ये ओवरराइड लागू करें। ये Self Defending, Debug Protection और Domain Lock के VM और बेसिक दोनों संस्करण बंद करते हैं, और disableConsoleOutput को बंद करते हैं (Low, Medium और High प्रीसेट इसे चालू करते हैं)। स्पष्ट मान दें; किसी विकल्प को छोड़ देने पर प्रीसेट उसे चालू कर सकता है।

JavaScript

CI

पहले मूल कोड चलाएँ, फिर ऑब्फ़स्केटेड टेस्टिंग बिल्ड को उन्हीं जाँचों से गुज़ारें। इनपुट, प्रभावी विकल्प, ऑब्फ़स्केटर संस्करण और बिल्ड चेतावनियाँ दर्ज करें, ताकि विफलताओं को दोबारा उत्पन्न किया जा सके। डैशबोर्ड और सीधे API रिस्पॉन्स चेतावनियाँ और हल किया गया संस्करण रिपोर्ट करते हैं; javascript-obfuscator पैकेज अपने प्रगति संदेश में संस्करण रिपोर्ट करता है, लेकिन चेतावनियाँ रिपोर्ट नहीं करता।

फ़ंक्शनल जाँचें पास होने के बाद मूल प्रोडक्शन सेटिंग्स से एक अलग रिलीज़ आर्टिफ़ैक्ट बनाएँ। उसी आर्टिफ़ैक्ट को उसके इच्छित रनटाइम में, किसी अनुमत डोमेन पर, उन ऑटोमेशन टूल्स या डिबगर के बिना जाँचें जिन्हें पहचानने के लिए उसके रक्षा उपाय बनाए गए हैं। टेस्टिंग बिल्ड का पास होना सुरक्षित रिलीज़ की पुष्टि नहीं करता।

डैशबोर्ड, javascript-obfuscator पैकेज (CLI या Node.js) और API बिल्ड एक जैसे सुरक्षा विकल्पों का उपयोग करते हैं। API टेस्टिंग में सामान्य क्रेडेंशियल्स और एंडपॉइंट का उपयोग होता है, और सामान्य उपयोग सीमाएँ लागू होती हैं। CI में टेस्ट और रिलीज़ आउटपुट अलग-अलग पाथ में रखें और केवल रिलीज़ आर्टिफ़ैक्ट को डिप्लॉय करें।

अगर निष्पादन फिर भी विफल होता है, तो VM रनटाइम एरर का निदान देखें।