प्ले राइट बनाम सेलेनियम: आपको कौन सा ब्राउज़र उपकरण चुनना चाहिए?
स्क्रेपलेस स्क्रैपिंग ब्राउज़र स्थानीय, रिमोट, और क्लाउड एक्सेक्यूशन मॉडल का मूल्यांकन करने वाली स्वचालन टीमों के लिए प्रबंधित ब्राउज़र बुनियादी ढाँचा प्रदान करता है।
TL;DR
- प्ले राइट एक कसकर एकीकृत आधुनिक परीक्षण स्टैक प्रदान करता है। इसके संदर्भ, स्थान, स्व-प्रतीक्षा, वेब-प्रथम दावे, चलाने वाला, ट्रेस, और क्रॉस-इंजिन परियोजनाएँ एक ही प्रणाली के रूप में कार्य करती हैं।
- सेलेनियम एक मॉड्यूलर, मानक-आधारित पारिस्थितिकी तंत्र प्रदान करता है। वेब ड्राइवर, भाषा बाइंडिंग, ब्राउज़र-विक्रेता कार्यान्वयन, ग्रिड, और बाहरी रनर व्यापक संगठनात्मक और प्लेटफ़ॉर्म आवश्यकताओं का समर्थन करते हैं।
- भाषा का चुनाव एक निर्णायक अंतर है। सेलेनियम प्रमुख उद्यम भाषाओं में लंबे समय से बाइंडिंग्स रखता है, जबकि प्ले राइट एक छोटे सेट का समर्थन करता है और नोड.जेएस को पहले-पार्टी प्ले राइट टेस्ट रनर प्रदान करता है।
- रिमोट स्केल विभिन्न सांस्कृतिक मानकों का पालन करता है। सेलेनियम ग्रिड और वेब ड्राइवर एंडपॉइंट स्थापित इंटरऑपरबिलिटी सतहें हैं; प्ले राइट सामान्य रूप से अपने रनर श्रमिकों या समर्थित रिमोट-ब्राउज़र कनेक्शनों का उपयोग करता है।
- माइग्रेशन मूल्य वर्तमान सूट पर निर्भर करता है। एक ग्रीनफील्ड वेब UI परियोजना प्ले राइट डिफॉल्ट का मूल्यांकन कर सकती है, जबकि एक प्रौद्योगिकी सेलेनियम प्रणाली लक्षित सफाई से अधिक वाहन प्राप्त कर सकती है।
चुनाव एक आर्किटेक्चर निर्णय है, गति प्रतियोगिता नहीं।
प्ले राइट और सेलेनियम दोनों ब्राउज़रों को स्वचालित करते हैं, लेकिन वे कार्य को अलग-अलग पैक करते हैं। प्ले राइट एक पुस्तकालय के साथ एकीकृत नोड.जेएस परीक्षण रनर, फिक्स्चर, दावे, परियोजनाएँ, रिपोर्ट, ट्रेसिंग, और ब्राउज़र स्थापना प्रदान करता है। सेलेनियम वेब ड्राइवर पर केंद्रित है और भाषा बाइंडिंग को ब्राउज़र ड्राइवर, ग्रिड, IDE, और परियोजना द्वारा चयनित परीक्षण ढाँचे के साथ जोड़ता है। एक API कॉल या अनसॉर्स बेंचमार्क की तुलना करना बड़े खर्च को याद करता है: कि कैसे सूट स्थिति को मॉडल करता है, वातावरण में चलता है, साक्ष्य उत्पन्न करता है, और टीम की भाषा पारिस्थितिकी तंत्र के साथ फिट बैठता है।
आधिकारिक प्ले राइट ढाँचे की शुरुआत प्ले राइट टेस्ट का वर्णन करता है, जो क्रोमियम, फ़ायरफ़ॉक्स, और वेबकीट के लिए बंडल किए गए उपकरणों और समर्थन के साथ एक एंड-टू-एंड ढाँचा है। जब इसकी भाषाएँ और ब्राउज़र मॉडल परियोजना से मेल खाते हैं, तब वह एक मजबूत ग्रीनफील्ड डिफ़ॉल्ट होता है। यह असेंबली के काम को कम कर सकता है, लेकिन इसका मतलब यह भी है कि टीम फिक्स्चर, परियोजनाओं, ट्रेस, और ब्राउज़र बाइनरी के लिए प्ले राइट की संविधानों को अपनाती है, बजाय इसके कि हर परत को स्वतंत्र रूप से जोड़ना।
प्ले राइट और सेलेनियम विभिन्न मॉडलों के माध्यम से ब्राउज़रों तक पहुँचते हैं
सेलेनियम भाषा बाइंडिंग वेब ड्राइवर कार्यान्वयन के जरिए ब्राउज़र विक्रेताओं के साथ संवाद करती हैं। मानक-आधारित प्रोटोकॉल सत्रों, क्षमताओं, नेविगेशन, तत्व आदेश, क्रियाएँ, स्क्रिप्ट, कुकीज़, विंडो, और त्रुटियों को परिभाषित करता है। प्ले राइट अपनी स्वयं की क्लाइंट और ब्राउज़र स्वचालन आर्किटेक्चर का उपयोग करता है, जिसमें लोकेटर्स, संदर्भों, दावों, और उसके परीक्षण रनर के बीच मजबूत एकीकरण होता है। दोनों स्थानीय या दूरस्थ रूप से चल सकते हैं, लेकिन एक दूरस्थ प्रदाता को चुने गए कनेक्शन मॉडल और आवश्यक सुविधाओं का स्पष्ट रूप से समर्थन करना चाहिए।
W3C वेब ड्राइवर स्पेसिफिकेशन वेब ड्राइवर को एक प्लेटफ़ॉर्म-और-भाषा-न्यूट्रल रिमोट-कंट्रोल प्रोटोकॉल के रूप में परिभाषित करता है। वह मानक सेलेनियम की इंटरऑपरबिलिटी का आधार है और समझाता है कि क्यों वेब ड्राइवर एंडपॉइंट ग्रिड और होस्टेड ब्राउज़र सेवाओं में दिखाई देते हैं। प्ले राइट का लाभ यह नहीं है कि प्रोटोकॉल की अनुपस्थिति है; यह क्रियाओं और दावों के चारों ओर निर्मित ढाँचे-स्तरीय व्यवहार है। व्यापार में मानक पहुंच और पारिस्थितिकी तंत्र की मॉड्यूलरिटी बनाम अधिक सामंजस्यपूर्ण सेट का अनुभव होता है।
- नियंत्रण सतह। प्ले राइट ब्राउज़र, संदर्भ, पृष्ठ, लोकेटर, फिक्स्चर, और दावे के अवधारणाओं पर केंद्रित है; सेलेनियम सत्रों, क्षमताओं, ड्राइवरों, तत्वों, और क्रियाओं पर केंद्रित है।
- राज्य पृथक्करण। प्ले राइट ब्राउज़र संदर्भों को प्राथमिक हल्के प्राइमिटिव बनाता है; सेलेनियम सूट सामान्यत: ताज़ा ड्राइवर सत्रों या ढांचे-विशिष्ट प्रबंधन के माध्यम से अलग थलग पड़ते हैं।
- उपकरण असेंबली। प्ले राइट टेस्ट प्रमुख परीक्षण लेयर्स को बंडल करता है, जबकि सेलेनियम जानबूझकर प्रत्येक भाषा पारिस्थितिकी तंत्र से रनर और पुस्तकालयों के साथ एकीकृत होता है।
- रिमोट एक्सेक्यूशन। सेलेनियम वेब ड्राइवर एंडपॉइंट्स और ग्रिड मानकों का उपयोग करता है; प्ले राइट रिमोट एक्सेक्यूशन उस समर्थन पर निर्भर करता है जो प्ले राइट या ब्राउज़र कनेक्शन द्वारा प्रदर्शित होता है।
- प्रोटोकॉल दिशा। दोनों पारिस्थितिकी तंत्र वेब ड्राइवर BiDi कार्य के माध्यम से इवेंट-ट्रिगर क्षमताओं को प्राप्त कर रहे हैं, हालांकि कार्यान्वयन कवरेज भिन्न है।
प्रतीक्षा और लोकेटर्स ढाँचे के दर्शन को प्रकट करते हैं
प्ले राइट लोकेटर्स क्रियाशीलता जांच करते हैं और वेब-प्रथम दावे अपेक्षित राज्यों की प्रतीक्षा करते हैं। सेलेनियम स्पष्ट और अप्रत्याशित प्रतीक्षा तंत्र, तत्व आदेश, और एक लचीला पारिस्थितिकी तंत्र प्रदान करता है जिसमें टीमें अपनी संविधानों की स्थापना करती हैं। जब लोकेटर्स प्रदर्शन विवरण को कोडित करते हैं या कोड राज्य के बजाय समय के लिए प्रतीक्षा करता है, तो कोई भी ढाँचा अप्रत्याशित हो सकता है। प्ले राइट मजबूत डिफॉल्ट प्रदान करता है; सेलेनियम एक परिपक्व संगठन को साझा पुस्तकालयों के माध्यम से पैटर्न लागू करने के लिए अधिक स्थान देता है।
आधिकारिक प्ले राइट क्रियाशीलता दस्तावेज़ प्ले राइट द्वारा कार्रवाई से पहले जांच की जाने वाली शर्तों का दस्तावेज़। सेलेनियम परियोजनाएँ समान परिणाम-चालित प्रतीक्षा व्यक्त कर सकती हैं, लेकिन व्यवहार बाइंडिंग और परियोजना उपयोगिताओं के माध्यम से असेंबल किया जाता है, न कि एक लोकेटर-और-assertion प्रणाली के माध्यम से। मूल्यांकन के दौरान, तुलना करें कि प्रत्येक प्रोटोटाइप एप्लिकेशन की वास्तविक जटिलताओं को कैसे संभालता है: फ़्रेम, पॉपअप, डाउनलोड, सिंगल-पेज नेविगेशन, प्रमाणीकरण, घटक पुनः उपयोग, और विश्लेषणात्मक कलाकृतियाँ।
प्ले राइट बनाम सेलेनियम साइड बाय साइड
सही चुनाव उन सीमाओं का पालन करता है जो सिद्धांत प्रमाण के बाद बनी रहती हैं। तालिका को निर्णय मानचित्र के रूप में मानें, फिर एक कठिन अनुप्रयोग यात्रा के खिलाफ प्रमुख विकल्प को मान्य करें।
| आयाम | व्यावहारिक अंतर |
|---|---|
| ब्राउज़र कवरेज | प्ले राइट क्रोमियम, फ़ायरफ़ॉक्स, और वेबकीट को लक्षित करता है; सेलेनियम प्रमुख ब्रांडेड ब्राउज़रों और प्लेटफ़ॉर्म के लिए वेब ड्राइवर कार्यान्वयन का उपयोग करता है। |
| भाषा पारिस्थितिकी तंत्र | प्ले राइट कई भाषाओं का समर्थन करता है, जिसका पहला-पार्टी परीक्षण रनर Node.js पर केंद्रित है; सिलेनीयम के पास व्यापक, परिपक्व भाषा बाइंडिंग और रनर एकीकरण हैं। |
| परीक्षण उपकरण | प्ले राइट टेस्ट बंडल फ़िक्सचर, आश्वासन, प्रोजेक्ट, रिपोर्ट, और ट्रेस; सिलेनीयम प्रोजेक्ट चारों ओर के उपकरणों का चयन करता है। |
| सिंक्नाईज़ेशन | प्ले राइट लोकेटर्स और वेब-फर्स्ट आश्वासन मजबूत इंतजार व्यवहार शामिल करते हैं; सिलेनीयम टीमें स्पष्ट प्रतीक्षा और ढांचे की व्यवस्था को परिभाषित करती हैं। |
| वितरित निष्पादन | सिलेनीयम ग्रिड और दूरस्थ वेबड्राइवर स्थापित आवंटन मॉडल हैं; प्ले राइट परीक्षण श्रमिकों और प्रदाता-विशिष्ट दूरस्थ समर्थन का उपयोग करता है। |
| गोद लेने की लागत | प्ले राइट हरी क्षेत्र की सेटअप को कम कर सकता है; सिलेनीयम परिपक्व सूट, आंतरिक पुस्तकालय, भाषा मानक, और विक्रेता एकीकरण को बरकरार रख सकता है। |
प्रोजेक्ट आकृति द्वारा प्ले राइट या सिलेनीयम चुनें
कोई भी उपकरण हर श्रेणी में नहीं जीतता। प्रोजेक्ट को उस पारिस्थितिकी तंत्र से मिलाएँ जो दीर्घकालिक जटिलता को कम करता है न कि उस एक से जिसे सबसे छोटा डेमो प्राप्त है।
हरी क्षेत्र टाइपस्क्रिप्ट यूआई सूट
प्ले राइट टेस्ट एक मजबूत डिफ़ॉल्ट है जब टीम एकीकृत फ़िक्स्चर, आश्वासन, पैरेलल प्रोजेक्ट, ब्राउज़र स्थापना, रिपोर्ट और ट्रेस चाहती है।
परिपक्व उद्यम स्वचालन
सिलेनीयम अक्सर तब फिट बैठता है जब संगठन के पास पहले से वेबड्राइवर पुस्तकालय, ग्रिड क्षमता, रिपोर्टिंग, डोमेन फ़िक्स्चर, और जावा, पायथन, या सी# में विशेषज्ञता होती है।
मानक-आधारित ब्राउज़र सेवा
सिलेनीयम स्वाभाविक रूप से दूरस्थ वेबड्राइवर क्षमताओं और ब्राउज़र-विक्रेता कार्यान्वयन के चारों ओर बनाए गए बुनियादी ढाँचे के साथ मेल खाता है।
आधुनिक गतिशील-पृष्ठ कार्यप्रवाह
प्ले राइट का संदर्भ, लोकेटर, इवेंट, और ट्रेस मॉडल भारी असंक्रमित यूआई व्यवहार वाले अनुप्रयोगों के लिए अनुकूलन समन्वयन को कम कर सकता है।
सामान्य तुलना दावे योग्यताकरण की आवश्यकता है
एक उपकरण हमेशा तेज़ या कम फ़्लैकी है, इस प्रकार के बयान पोर्टेबल तथ्य नहीं हैं। निष्पादन समय अनुप्रयोग, आश्वासन, ब्राउज़र, नेटवर्क, कार्यकर्ता मॉडल, वातावरण और परीक्षण डिज़ाइन पर निर्भर करता है। फ़्लैकनेस अक्सर साझा डेटा, अस्थिर चयनकर्ता, गायब तैयारी संकेतों, और पर्यावरणीय ड्रिफ्ट से आता है। एक सावधानीपूर्वक डिज़ाइन की गई सिलेनीयम सूट विश्वसनीय हो सकती है, और एक लापरवाह प्ले राइट सूट अस्थिर हो सकता है। नियंत्रित परिस्थितियों में एक प्रतिनिधि यात्रा की तुलना करें और सबूत रखें।
आधिकारिक सिलेनीयम घटक अवलोकन सिलेनीयम के वेबड्राइवर, ग्रिड, और आईडीई घटकों को समझाता है। यह विस्तार कभी-कभी अनावश्यक जटिलता के रूप में गलत लेबल किया जाता है, फिर भी यह तब मूल्यवान हो सकता है जब किसी संगठन को भाषा, रनर, वितरण, और ब्राउज़र सेवा के लिए स्वतंत्र विकल्पों की आवश्यकता होती है। इसके विपरीत, प्ले राइट का एकीकरण केवल सुविधाजनक नहीं है; यह पृथक्करण और वास्तविकता की अपेक्षाओं के चारों ओर स्थिर करता है।
एक निष्पक्ष प्ले राइट बनाम सिलेनीयम मूल्यांकन
उस कार्यप्रवाह के खिलाफ तुलना करें जो उन परिस्थितियों को समाहित करता है जिन्हें आपकी सूट कठिन पाती है। आवेदन, डेटा, ब्राउज़र वातावरण, और सफलता की मानदंड को स्थिर रखें।
- ब्राउज़र लक्षित करें। संभव हो तो वही आवश्यक ब्राउज़र और ऑपरेटिंग-सिस्टम वातावरण का उपयोग करें। दस्तावेज़ करें जब प्ले राइट इंजन कवरेज और सिलेनीयम ब्रांडेड-ब्राउज़र कवरेज समान नहीं होते।
- एक कठिन यात्रा लागू करें। प्रमाणीकरण, असंक्रमित अपडेट, एक फ़्रेम या पॉप अप, एक डाउनलोड या नेटवर्क आश्वासन शामिल करें, और यदि वे सुविधाएँ वास्तविक अनुप्रयोग में मौजूद हैं तो एक अर्थपूर्ण अंतिम स्थिति।
- प्रत्येक उपकरण के निर्धारित मॉडल को लागू करें। प्ले राइट लोकेटर्स, संदर्भ, फ़िक्स्चर, और वेब-फर्स्ट आश्वासन का उपयोग करें; सिलेनीयम स्पष्ट प्रतीक्षा, ताज़ा सत्र, और स्थापित रनर पैटर्न का उपयोग करें। एक उपकरण को दूसरे की नकल के रूप में लिखने से बचें।
- 诊断质量 की तुलना करें। एक नियंत्रित विफलता पेश करें और इंजीनियर के लिए उपलब्ध ट्रेस, स्क्रीनशॉट, लॉग, सत्र मेटा डेटा, स्टैक, और रिपोर्ट की जांच करें, जो सूट को बनाए रखेंगे।
- पूर्ण पाइपलाइन समय मापें। पर्यावरण सेटअप, ब्राउज़र आवंटन, परीक्षण निष्पादन, कलाकृति अपलोड, सफाई, और परिणाम रिपोर्टिंग को शामिल करें न कि केवल क्लिक अनुक्रम को समय में रखते हुए।
- माइग्रेशन को ईमानदारी से मूल्यांकन करें। पुनर्लेखन, पुनर्प्रशिक्षण, सीआई परिवर्तनों, क्लाउड-प्रदाता परिवर्तनों, पृष्ठ-स्तरीय पुनः डिज़ाइन, ऐतिहासिक रिपोर्ट, और एक अवधि का अनुमान लगाएँ जिसमें दोनों सूट संचालित हो सकते हैं।
- पारिस्थितिकी तंत्र बाधाओं की समीक्षा करें। आवश्यक भाषाओं, रनर, पहुंच के उपकरण, दृश्य परीक्षण, मोबाइल या डेस्कटॉप आवश्यकताओं, ब्राउज़र नीतियों, और सुरक्षा नियंत्रण की वर्तमान आधिकारिक समर्थन सतह के साथ पुष्टि करें।
- रखरखाव के परिणाम द्वारा निर्णय लें। उस स्टैक को चुनें जो कई वर्षों के लिए टीम के लिए स्थिति, प्रतीक्षा, स्वामित्व और निदान को स्पष्ट बनाता है, न कि उस स्टैक को जो एक सिंथेटिक मैट्रिक को जीतता है।
स्क्रैपलेस तुलना में कहाँ फिट बैठता है
स्क्रैपलेस स्क्रैपिंग ब्राउज़र प्रबंधित बुनियादी ढांचे में ब्राउज़र निष्पादन को आगे बढ़ाता है जिनका समर्थन स्वचालन क्लाइंट करता है। यह स्थानीय ब्राउज़र-होस्ट के काम को कम करके प्ले राइट या सिलेनीयम मूल्यांकन के बुनियादी ढांचे के भाग को बदल सकता है, लेकिन यह भाषाओं, लोकेटर्स, आश्वासन, ग्रिड एकीकरण, या प्रोटोकॉल समर्थन में ढांचे के अंतरों को मिटा नहीं सकता।
चुने गए क्लाइंट के लिए वर्तमान कनेक्शन सतह को सत्यापित करें और प्रतिनिधि यात्रा को चलाएँ इससे पहले कि दूरस्थ निष्पादन को समकक्ष माना जाए। वर्तमान की समीक्षा करें स्क्रैपलेस स्क्रैपिंग ब्राउज़र उत्पाद अवलोकन, स्क्रैपलेस स्क्रैपिंग ब्राउज़र प्रारंभिक दस्तावेज़ीकरणऔर स्क्रैपलेस कीमतें एक संचालन मॉडल चुनने से पहले।
निष्कर्ष: कोहेशन के लिए प्ले राइट, मॉड्यूलैरिटी के लिए सेलेनियम
प्ले राइट तब प्रभावी होता है जब एक टीम एक समग्र आधुनिक परीक्षण प्रणाली चाहती है जिसमें संदर्भों, लोकेटर्स, निर्भरता, परियोजनाओं और ट्रेस के चारों ओर मजबूत डिफ़ॉल्ट होते हैं। सेलेनियम तब प्रभावी होता है जब मानक आधारित वेबड्राइवर पारस्परिकता, विस्तृत भाषा का समर्थन, मौजूदा ग्रिड अवसंरचना, या एक मॉड्यूलर उद्यम स्टैक निर्णय को प्रभावित करता है।
सबसे कठिन वास्तविक यात्रा का प्रोटोटाइप बनाएं, निदान और निष्पादन की तुलना करें, और प्रवासन और होस्टिंग लागतों को शामिल करें। सबसे अच्छा उपकरण वह है जिसका मॉडल टीम के ब्राउज़र की स्थिति और अनुप्रयोग के परिणामों को समय के साथ नियंत्रित करना सबसे आसान बनाता है।
प्रबंधित ब्राउज़र वर्कफ़्लो का परीक्षण करने के लिए तैयार हैं?
एक स्क्रैपलेस खाता बनाएं और उस ब्राउज़र इंफ्रास्ट्रक्चर के माध्यम से समान सीमित स्वचालन यात्रा चलाएं जिसका उपयोग आपके द्वारा चुने गए ढांचे के लिए किया जाएगा।
नि:शुल्क शुरू करें →अक्सर पूछे जाने वाले प्रश्न
क्या प्ले राइट सेलेनियम से बेहतर है?
प्ले राइट सार्वभौमिक रूप से बेहतर नहीं है। यह अक्सर नए वेब प्रोजेक्ट्स को मजबूत एकीकृत डिफ़ॉल्ट प्रदान करता है, जबकि सेलेनियम व्यापक भाषा आवश्यकताओं, परिपक्व वेबड्राइवर सूट, ग्रिड अवसंरचना, और स्थापित उद्यम उपकरणों के लिए बेहतर विकल्प हो सकता है। परियोजना की सीमाओं और एक प्रतिनिधि प्रोटोटाइप से निर्णय लें।
कौन सा उपकरण अधिक प्रोग्रामिंग भाषाओं का समर्थन करता है?
सेलेनियम का एक व्यापक और लंबे समय से स्थापित भाषा-बाइंडिंग पारिस्थितिकी तंत्र है। प्ले राइट Node.js, Python, Java, और .NET का समर्थन करता है, जबकि इसकी पहली-पार्टी प्ले राइट टेस्ट रनर Node.js के चारों ओर केंद्रित है। आपकी संगठन की आवश्यकता के लिए भाषा और रनर मॉडल के लिए वर्तमान आधिकारिक समर्थन की पुष्टि करें।
कौन सा उपकरण कम अस्थिर है?
कोई भी उपकरण स्थिर परीक्षण की गारंटी नहीं दे सकता। प्ले राइट का स्वचालित इंतजार और वेब-प्रथम निर्भरताएँ सहायक डिफ़ॉल्ट प्रदान करती हैं, लेकिन साझा डेटा, कमजोर सेलेक्टर्स, पर्यावरणीय बदलाव, और गायब व्यावसायिक निर्भरता अभी भी अस्थिरता पैदा कर सकते हैं। सेलेनियम सूट उन स्थितियों को लागू करते समय विश्वसनीय हो सकते हैं और लगातार मजबूत अलगाव कर सकते हैं।
क्या सेलेनियम और प्ले राइट एक ही संगठन में चल सकते हैं?
हाँ। टीमें स्थापित ब्राउज़र और भाषा कवरेज के लिए सेलेनियम को बनाए रख सकती हैं जबकि नए वेब अनुप्रयोग या केंद्रित सूट के लिए प्ले राइट को अपनाती हैं। स्वामित्व की परिभाषा दें, उद्देश्य के बिना समान कवरेज को दोहराने से बचें, और किसी भी सह-अस्तित्व अवधि के दौरान रिपोर्टिंग और रिलीज़ मानदंडों को स्पष्ट रखें।
क्या एक परिपक्व सेलेनियम सूट को प्ले राइट में फिर से लिखना चाहिए?
केवल तब जब मापी गई रखरखाव, कवरेज, उपकरण, या डिलीवरी लाभ फिर से लिखने और संक्रमण की लागत से अधिक हो। सबसे पहले मौजूदा सूट में लोकेटर्स, वेट्स, आइसोलेशन, ड्राइवर प्रबंधन, और डायग्नोस्टिक्स में सुधार करें; ये परिवर्तन यह प्रकट करते हैं कि मुख्य समस्या सेलेनियम है या सूट डिजाइन।