2012-08-28 9 views
5

मैं वर्तमान में सर्वर पक्ष पर सिनात्रा रूबी और क्लाइंट साइड के लिए बैकबोन.जेएस, jQuery, jQuery UI पर एक पृष्ठ जावास्क्रिप्ट एप्लिकेशन विकसित कर रहा हूं। एप्लिकेशन का मुख्य उद्देश्य ग्राहक को विभिन्न प्रकार के आइटम देखने/संपादित करने की अनुमति देना है, प्रत्येक आइटम दृश्य कम या कम जटिल रूप है।एक पृष्ठ अनुप्रयोगों के लिए जावास्क्रिप्ट एकीकरण परीक्षण

  • एकात्मक परीक्षण QUnit
  • कार्यात्मक/एकीकरण परीक्षणों

क्या चौखटे/उपकरण आपको एकीकरण परीक्षण के लिए में की सिफारिश करते हैं का उपयोग कर:

यकीन है कि सब कुछ काम करता है सही मैं करने की योजना बना रहा हूँ करने के लिए ये मामला ? मैंने सेलेनियम से शुरुआत की लेकिन मुझे यह बहुत पसंद नहीं आया। मैंने अभी फैंटॉमजेएस और कैस्परजेएस को देखना शुरू कर दिया है और वे नेविगेटिंग, लिंक पर क्लिक करने जैसे मूल सामानों के लिए बहुत अच्छा लग रहा है ...

आपकी सलाह क्या है?

उत्तर

1

आपने यह नहीं कहा कि आपको सेलेनियम के बारे में क्या पसंद नहीं आया, लेकिन मुझे लगता है कि आप जावास्क्रिप्ट के साथ आश्वस्त हैं, इसलिए मेरी सिफारिश मुख्य उपकरण के रूप में CasperJS का उपयोग करना होगा। यह एक-पेज वेब ऐप्स के साथ अच्छी तरह से काम करता है, और अपने स्वयं के परीक्षण उपकरण के साथ आता है। घोंसला wait खंडों का उपयोग करते समय, कोड कभी-कभी थोड़ा सा हो सकता है; यह सुनिश्चित करके कि आप प्रत्येक परीक्षण में बहुत अधिक करने की कोशिश नहीं करते हैं, और फिर यदि जटिल, रिफैक्टर। और डिज़ाइन-टू-टेस्टिंग को न भूलें: यदि आपका चयनकर्ता बहुत जटिल है, तो इसके आसपास <span id="xxxx">...</span> जोड़ने पर विचार करें, इसलिए आपके परीक्षण सीधे इसके लिए जा सकते हैं!

आप PhantomJS और SlimerJS दोनों के साथ कैस्परजेएस का उपयोग कर सकते हैं।

  • PhantomJS 1.x, एक पुराने वेबकिट (सफारी 5.1 और क्रोम 13 के बराबर) पर अटक जाता है तो किसी भी अधिक आधुनिक सुविधाओं का परीक्षण कर निराशा होती है: मेरी प्राथमिकता के रूप में, वर्तमान में SlimerJS के लिए है।
  • स्लिमरजेएस या तो गीको इंजन के साथ काम कर सकता है, या सीधे आपके द्वारा स्थापित फ़ायरफ़ॉक्स के संस्करण के साथ काम कर सकता है। यह आपको अतिरिक्त प्लगइन, सुरक्षा प्रमाणपत्र आदि के साथ एक फ़ायरफ़ॉक्स प्रोफ़ाइल कॉन्फ़िगर करने की अनुमति देता है।
  • स्लिमरजेएस जावास्क्रिप्ट में लिखा गया है, यदि आपको आवश्यकता हो तो हैक करना इतना आसान है।

एक बार PhantomJS 2.0 बाहर आता है (2013, उम्मीद है कि के अंत के आसपास), या कि आपकी साइट किसी हाल एचटीएमएल 5 एपीआई पर निर्भर नहीं करता है, तो आप CasperJS दो बार चला सकते हैं, डबल कवरेज मिलता है। (Btw, PhantomJS स्वाभाविक रूप से बिना सिर है; SlimerJS Xvfb उपयोग करने के लिए है, जो केवल लिनक्स या मैक है की जरूरत है।)

क्या Selenium आप अतिरिक्त देता है अगर आप अन्य ब्राउज़र, विशेष रूप से आईई को नियंत्रित कर सकते हैं। (हालांकि आईई के लिए आपको विंडोज मशीन चलाने की ज़रूरत है।) स्लेमेरजेस की तरह सेलेनियम को Xvfb को हेडलेस (फिर से, विंडोज को छोड़कर) की आवश्यकता होती है। (बीटीडब्लू, सेलेनियम डॉक्स on supported browsers को उम्र में अपडेट नहीं किया गया है, लेकिन मुझे लगता है कि प्रत्येक ब्राउज़र के बाद के संस्करणों में कम से कम वही समर्थन दिखाया गया है।)

+0

सेलेनियम के खिलाफ पहला बिंदु इसकी गति है। यह बहुत धीमा है। – user337620

+0

@ user337620 मेरी सेलेनियम स्क्रिप्ट नेटवर्क एक्सेस का प्रभुत्व है, इसलिए स्टार्ट-अप को छोड़कर मैंने उन्हें कभी धीमा नहीं माना है। मैंने अभी महसूस किया कि आपका प्रश्न पिछले साल अगस्त था, इस साल नहीं! आप किसके साथ जा रहे थे, और क्या आप इससे खुश हैं? –

+0

मैंने फैंटोमजेएस के साथ कैस्परजेएस का इस्तेमाल किया। मैं भी स्लिमरजेएस पर एक नज़र डालेगा। – user337620

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