2016-02-23 9 views
10

पिछले कुछ हफ्तों के लिए, मैं एंड्रॉइड परीक्षण के लिए Appium(python) का उपयोग कर रहा था लेकिन कल हमने स्वचालित परीक्षण के लिए Expresso(Java) पर स्थानांतरित करने का निर्णय लिया है। वहाँ कारणों क्यों हम इस बदलाव कर रहे हैं की जोड़ी हैं:स्वचालित परीक्षण ढांचे के लिए एपियम बनाम एस्प्रेसो

  • हम अपने स्वचालित परीक्षण बाहर पैमाने पर करने के चाहते हैं, और सुविधाओं appium में मौजूद नहीं की बहुत देखते हैं।

  • यह एंड्रॉइड के लिए नवीनतम परीक्षण ढांचे में से एक है, और इसमें पिछड़ी पिछड़ा संगतता है।

  • छोटे एपीआई और अनुकूलित करने के लिए बहुत आसान है।

मैं Espresso के लिए पढ़ रहा हूं लेकिन मुझे कुछ भी अच्छा नहीं लगता है, अगर मैं इसे एपियम के साथ तुलना करता हूं। मैं हूं इसलिए शायद कुछ ऐसे मुद्दे हैं जिन्हें मैं समझने में सक्षम नहीं हूं। क्या कोई मुझे यह समझने में मदद करना चाहेंगे कि क्या इस नए परीक्षण ढांचे में बदलाव भविष्य के लिए अच्छा होगा? मुझे यहां बड़ी तस्वीर याद आ रही है, और किसी भी मदद की सराहना की जाएगी।

+0

अपने अनुभव/इंप्रेशन साझा करना न भूलें – kiedysktos

उत्तर

8
  1. स्थानांतरण बहुत उपयोगी होगा क्योंकि एस्प्रेसो ऐप के बाहर परीक्षण गतिविधियों का समर्थन करता है जैसे कैमरा, ब्राउज़र और डायलर आदि जो एपियम समर्थन नहीं करता है।
  2. एस्प्रेसो आप टोस्ट संदेश, ऑटो पूर्ण और संवाद जो ऐप के बाहर हैं, का परीक्षण कर सकते हैं।
  3. एस्प्रेसो टेस्ट सूट के साथ आप कोड कवरेज पा सकते हैं और अपने परीक्षण प्रयासों को माप सकते हैं।
+2

I मुझे यकीन नहीं है कि आप एस्प्रेसो के साथ अपने ऐप के बाहर चीजों का परीक्षण कर सकते हैं। इसके लिए आपको यूई-ऑटोमैटर जैसे कुछ उपयोग करने की आवश्यकता होगी। https://developer.android.com/training/testing/ui-testing/espresso-testing देखें एचटीएमएल और https://developer.android.com/training/testing/ui-testing/uiautomator-testing.html –

+1

@YairKukielka यह सच है, एस्प्रेसो ऐप के बाहर परीक्षण का समर्थन नहीं करता है लेकिन यह यूआईएटॉमेटर के साथ मिलकर काम कर सकता है। , उसी टेस्ट कोड में, आप एस्प्रेसो के साथ-साथ यूआईएटॉमेटर लिख सकते हैं और इसलिए ऐप के बाहर और साथ ही परीक्षण भी कर सकते हैं। संदर्भ: https://plus.google.com/+AndroidDevelopers/posts/WCWANrPkRxg – user846316

+1

आप एस्प्रेसो इरादे का उपयोग कर सकते हैं परीक्षण करने के लिए आरए और फोन के डायलर गतिविधि को आपके ऐप के बाहर। यही मेरा जवाब है। –

8

यदि आप केवल एंड्रॉइड ऑटोमेशन पर चिपके हुए हैं और आईओएस स्वचालित करने का कोई विचार नहीं है तो आप एस्प्रेसो में जा सकते हैं।

एएफआईकेडब्ल्यू, एस्प्रेसो को इसे स्वचालित करने के लिए ऐप के स्रोत कोड की आवश्यकता है।

लाभ यह है कि यह सीधे Google द्वारा खुलासा किया जाता है।

लेकिन मेरा जाना एपियम के साथ जाना है क्योंकि यह एक बड़े खुले सोर्स वाले समुदाय के साथ है, जिसने अपने तरीके पर भारी वृद्धि और किसी प्रोग्रामिंग भाषा के साथ स्वचालित करने में आसान है और यह कहने की जरूरत नहीं है कि यह एंड्रॉइड और आईओएस दोनों का समर्थन करता है।

+1

मैं आपके विचारों से सहमत हूं। –

+0

क्या आप इसका अर्थ समझ सकते हैं कि 'इसके रास्ते में भारी वृद्धि' क्या है? मुझे बहुत महत्व नहीं मिला। – olevegard

+0

मुझे लगता है कि एपियम समर्थन बहुत कम एपीआई स्तर अभी भी इसका एकमात्र '5.0' है, जो कुछ अच्छा नहीं है। –

4

मैं मानता हूं कि एंड्रॉइड परीक्षण पूरी तरह से होने पर एस्प्रेसो बहुत प्रभावी हो सकता है। उदाहरण के लिए, यह केवल उस गतिविधि को चला सकता है जो यह परीक्षण कर रहा है, जो कि बहुत अच्छा है।

फिर भी, मैं एपियम से चिपक गया क्योंकि इसमें एंड्रॉइडड्राइवर और आईओएसड्राइवर दोनों के लिए एक ही एपीआई है। आम तौर पर एंड्रॉइड ऐप्स आईओएस ऐप के साथ होते हैं, और यदि आप यूआई ऑटोमेशन के लिए ज़िम्मेदार हैं, तो आपको कुल लागत को ध्यान में रखना होगा।

Appium प्लेटफ़ॉर्म-विशिष्ट समाधान का लाभ होता निम्नलिखित है:

  • Android और iOS परीक्षण सहायक तरीकों और विन्यास सहित कई कक्षाएं, साझा कर सकते हैं,
  • Android और iOS परीक्षण उच्च स्तर पर आम परीक्षण तर्क साझा कर सकते हैं , निचले स्तर पर अलग या थोड़ा अलग कार्यान्वयन होने पर (उदाहरण के लिए कभी-कभी मैं सिर्फ पूरे पृष्ठ ऑब्जेक्ट क्लास की प्रतिलिपि बना सकता हूं और इसे अन्य प्लेटफॉर्म पर काम करने के लिए लोकेटरों में सरल परिवर्तन कर सकता हूं),
  • एक ही एपीआई हमें सहजता से सक्षम बनाता है आईओएस और एंड्रॉइड टेस्ट डेव के बीच स्विच करें एक टीम में लोपमेंट।वेब विकास के लिए सेलेनियम में आसान स्विचिंग अतिरिक्त लाभ है।

एपियम का सबसे बड़ा नुकसान लंबे परीक्षण परिदृश्यों की गति और तत्वों को ढूंढने में कुछ कठिनाइयों की गति है, लेकिन फिर भी यह मेरी पसंद है।

साइड नोट के रूप में, मैं यह जोड़ना चाहता हूं कि आपको परीक्षण पिरामिड के बारे में नहीं भूलना चाहिए जो परीक्षण स्वचालन को संदर्भित करता है। कृपया यूनिट टेस्ट, एकता परीक्षण के बीच संतुलन रखने के लिए और यूआई http://martinfowler.com/bliki/TestPyramid.html

+0

स्थिरता और दीर्घकालिक रखरखाव लागत के संदर्भ में आप क्या सलाह देंगे? एपियम या एस्प्रेसो? –

1

दोनों के बीच मुख्य अंतर है,

एस्प्रेसो परीक्षण आवेदन के भीतर है परीक्षण करता है और यह आवेदन की सभी परतों के बारे में पता है। तो आप ऐप की कुछ परतों को नकल कर सकते हैं, एक श्वेत-बॉक्स परीक्षण

ऐपियम परीक्षण ब्लैक-बॉक्स हैं, परीक्षण केवल ऐप की UI परत को जानते हैं। मुख्य लाभ क्रॉस-प्लेटफ़ॉर्म परीक्षण के लिए है।

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