25

मुझे लगता है कि Karma एक जावास्क्रिप्ट परीक्षण धावक है, जो वास्तविक ब्राउज़रों में परीक्षण चला सकता है। यदि ऐसा है, तो सेलेनियम किस प्रकार का परीक्षण कवरेज कर्म से ऊपर और ऊपर प्रदान करता है।सेलेनियम कवर कर्म से ऊपर और ऊपर क्या परीक्षण करता है?

उत्तर

9

सेलेनियम के कई संस्करण हैं, जो नवीनतम (मेरा मानना ​​है) जिसमें सेलेनियम वेब चालक है जो आपको एक ड्राइवर बनाने की अनुमति देता है जो यूआई के साथ बातचीत करने वाले कार्यों को अनुकरण करके आपके लिए एक ब्राउज़र को संभालेगा जो उपयोगकर्ता की तरह होगा (एक जेसन तार के माध्यम से)।

कर्म की मेरी वर्तमान समझ (जो मैं जोड़ सकता हूं वह बहुत सीमित है) यह है कि यह जावास्क्रिप्ट को निष्पादित करने पर भारी निर्भर करता है। इस कर्म के कारण तत्वों (जैसे 'ब्लर' और 'होवर ओवर') पर परिवर्तन घटनाओं को कॉल करना होगा, जबकि सेलेनियम बस क्लिक करेगा, टैब आउट करेगा, कर्सर को ले जाएगा। सेलेनियम के ब्राउज़र उनके वेबपृष्ठ here पर निर्दिष्ट लोगों तक ही सीमित हैं।

+0

क्या उन यूई घटनाओं को लपेटने का कोई तरीका है क्या आपको उन्हें चमेली में स्पष्ट रूप से कॉल करने की आवश्यकता नहीं है? – Nikos

22

कर्म और सेलेनियम के बीच एक बड़ा अंतर है। सेलेनियम में एक अंतर्निहित ब्राउज़र नियंत्रण तंत्र है, जबकि कर्म नहीं करता है। तो सेलेनियम परीक्षण समाप्त करने के लिए अधिक उपयुक्त है, उदाहरण के लिए nightwatch.js के साथ। कर्म को यूनिट परीक्षणों के लिए डिज़ाइन किया गया है, इसलिए अंत में परीक्षणों को समाप्त करने के लिए यह बहुत कठिन है, उदाहरण के लिए आप एक प्रेतोज़ लॉन्चर जोड़ सकते हैं, लेकिन यह कभी भी सेलेनियम के साथ वास्तविक ब्राउज़र परीक्षण के समान नहीं होगा ... मुझे लगता है कि दोनों यदि आपके पास एडाप्टर है तो वे किसी भी जेएस परीक्षण ढांचे को चला सकते हैं ... मोचा, चमेली, कुनिट, आदि ...

+0

जब मैं कर्म के क्रोम लॉन्चर का उपयोग करता हूं तो यह क्रोम का एक उदाहरण लॉन्च करता है। क्या यह क्रोम का उपयोग करने जैसा नहीं है? अशिष्ट नहीं, गंभीरता से नहीं जानते – Francisc0

-1

यह निर्भर करता है कि आप क्या परीक्षण कर रहे हैं। यदि आप यूनिट परीक्षण लिखने के लिए जावास्क्रिप्ट का उपयोग कर रहे हैं - जैस्मीन/मोचा/चाई या समकक्ष के माध्यम से - यह तर्क कि कर्म जावास्क्रिप्ट और सेलेनियम पर भारी निर्भर करता है - वह अनावश्यक नहीं है।

मेरे सभी अनुभवों में मैंने बहुत कम समर्पित स्वचालित परीक्षकों के साथ काम किया है, और सेलेनियम भाषा शायद उनकी पसंद के दौरान, तरीकों की सेलेनियम लाइब्रेरी jquery जैसे समकक्ष चयनकर्ता इंजन के रूप में याद रखना उतना आसान नहीं है।

कठिनाई समर्पित स्वचालित परीक्षकों भाषा और कुछ हद भाषा सीखने की डेवलपर्स के लिए रुचि की कमी जानने के लिए निवेश की कमी अविरत कंपनियों अधिक जटिल स्वचालित परीक्षण में निवेश करने के लिए

कुछ किया गया है वर्षों से सेलेनियम के साथ jquery के संवर्द्धन कार्यान्वयन, लेकिन वास्तव में कोई भी बड़ा अनुसरण नहीं है और अधिकांश जावा में लिखे गए हैं।

Webdriverio एक NPM पैकेज कुछ jQuery विशेषताएं है है - https://github.com/bessdsv/karma-jasmine-jquery

यह निर्भर करता है कि क्या परीक्षण किया जा रहा है - https://www.npmjs.com/package/webdriverio-jquery

कर्मा पूरे jQuery इंजन आयात करने के लिए एक साधन है। यदि आप फ्रंट एंड कोड का परीक्षण कर रहे हैं, तो जावास्क्रिप्ट का उपयोग करना समझ में आता है, और सेलेनियम भाषा की तुलना में jquery का उपयोग करना आसान है और वर्तमान में कर्म वेबड्राइवर से बेहतर jquery का समर्थन करता है।

स्वचालित परीक्षण के लिए jquery का उपयोग कर हस्तांतरणीय कौशल को विकास में और डेवलपर्स के लिए स्वचालित परीक्षण में इसके विपरीत बनाएगा।

संबंधित मुद्दे