के दौरान असफल हो जाते हैं हमारे पास एक सी #/एएसपी नेट वेब एप्लिकेशन है जो बिल्ड सर्वर (जेनकींस) द्वारा बनाया और तैनात किया गया है। स्वचालित तैनाती से पहले निर्माण चरणों में से एक यह सुनिश्चित कर रहा है कि सभी स्वचालित परीक्षण पास हों - जिसमें सेलेनियम 2 वेबड्राइवर और एनयूनीट का उपयोग करने वाले कार्यात्मक परीक्षण शामिल हैं।सेलेनियम परीक्षणों से निपटना जो कभी-कभी स्वचालित तैनाती
समस्या: कभी-कभी ये परीक्षण यादृच्छिक रूप से विफल हो जाते हैं। वे 100 बिल्डों के लिए सफल होंगे और फिर एक विफल हो जाएगा। वे विभिन्न कारणों से असफल होते हैं - एक .लिक() घटना को अनदेखा किया जाता है, तत्व नहीं मिल सकता है, आईई का बुरा दिन है, आदि। हमारे पास एक AJAX भारी वेब ऐप है और इसलिए हम वेबड्राइवरवाइट्स पर भारी निर्भर करते हैं लेकिन हम हमेशा लेते हैं यह परीक्षण लिखते समय खाते में है, और जैसे मैंने कहा कि परीक्षण ज्यादातर समय गुजरते हैं।
इस समस्या से बचने या ठीक करने के कुछ तरीके क्या हैं? एक जोड़े है कि मेरे दिमाग में आया था:
- विफलताओं की एक निश्चित संख्या को स्वीकार करें (एक बुरा विचार की तरह लगता है)
- को पुन: चलाएं परीक्षण विफलताओं?
धन्यवाद, मुझे 'सोख परीक्षण' विचार पसंद है - (और स्क्रीनशॉट लेने के बाद) मैंने देखा कि कुछ परीक्षण हमेशा एक ही स्थान पर असफल होते हैं, इसलिए मैं उन पर नजदीकी नजर डालूंगा। – Kryptic
@ क्रिप्टिक दिलचस्प। मैं अपने जैसा कुछ भी कर रहा हूं। क्या ऐसे पैटर्न हैं जिन्हें आप याद करते हैं कि उन flaky परीक्षणों के करीब देखो? – anjunatl