मेरी इंटर्नशिप के लिए, मुझे वेब-एप्लिकेशन का परीक्षण करने के लिए टेस्टएनजी और सेलेनियम का उपयोग करना होगा। लेकिन मुझे कोई समस्या है, कभी-कभी सेलेनियम या ब्राउज़र कुछ यादृच्छिक कारणों से काम नहीं कर रहा है, इसलिए एक कार्य परीक्षण को "असफल" के रूप में चिह्नित किया जाता है। इससे बचने के लिए, मैं एनोटेशन @Test(invocationCount = 4, successPercentage = 25)
का उपयोग कर सकता हूं, फिर यदि परीक्षण एक बार सफल होता है, तो परीक्षण को "सफल" के रूप में चिह्नित किया जाता है, यह अच्छा है लेकिन समस्या यह है कि यह समाधान 4 से परीक्षण के लिए समय गुणा करता है, यह बहुत कुशल नहीं है ।टेस्टिंग और सेलेनियम परीक्षणों को अनुकूलित करने के लिए कैसे करें
परीक्षण के लिए समय कम करने के लिए मैं क्या कर सकता हूं, कुछ नियम लिखना है "यदि परीक्षण विफल हुआ, तो इस परीक्षण को फिर से शुरू करें (और केवल तभी परीक्षण विफल हो गया है), और यदि यह दूसरा, तीसरा, या चौथा बार, फिर इस परीक्षा को "सफल" के रूप में चिह्नित करें "तो मैं इन यादृच्छिक बग से बच सकता हूं। लेकिन मुझे यह नियम नहीं मिला है, मैंने देखा है कि हम एक श्रोता जोड़ सकते हैं, इसलिए हमारे पास "onTestFailure
" नामक एक विधि है, इसलिए परीक्षण विफल होने पर मैं कुछ कर सकता हूं लेकिन मुझे नहीं पता कि पुनः- परीक्षण चलाओ।
मुझे testng-fail.xml भी मिला जहां सभी असफल परीक्षण सहेजे गए हैं, इसलिए हम इन परीक्षणों को दोबारा चलाने के लिए इस XML फ़ाइल को चला सकते हैं, लेकिन यह पिछले पहले रन से रिपोर्ट मिटा देगा, लेकिन मुझे बस यह चाहिए कि असफल परीक्षणों को "सफल" के रूप में चिह्नित किया जाता है यदि दूसरा रन सफल होता है। (मैंने जेनकींस में टेस्टएनजी/सेलेनियम एकीकृत किया है, इसलिए मेरे पास सभी परीक्षणों के साथ एक ग्राफ है, इसलिए यह विधि बहुत अनुकूल नहीं है, लेकिन यह विधि 4 से परीक्षण के लिए समय गुणा नहीं करती है और यह वही है जो मैं चाहता हूं)
तो यदि आपके पास ऐसा करने के लिए कोई सुराग है, तो यह बहुत अच्छा होगा।
मैंने testng-fail.xml को 3 बार चलाने के लिए परीक्षण किया है, और फिर सभी परीक्षण काम कर रहे हैं, और इसमें बहुत समय नहीं लगता है। लेकिन जेनकींस के साथ, जब testng-fail.xml आखिरी बार चलाया जाता है, तो यह testng-result.xml को संपादित करेगा, इसलिए अब ग्राफ "1 टेस्ट रन, 1 सफल" इंगित करता है, क्योंकि आखिरी रन, testng ने केवल लॉन्च किया है यह परीक्षण जो 3 बार पहली बार विफल रहा। यह विधि सभी असफल परीक्षणों के साथ एक ग्राफ उत्पन्न करेगी, लेकिन सभी कामकाजी परीक्षण (परीक्षण जो तीसरे समय चल रहे हैं) को इंगित नहीं किया जाएगा, यह वही नहीं है जो मैं चाहता हूं ... कोई सुराग? – user1000499