2012-01-03 13 views
5

में स्वचालित रूप से असफल परीक्षण केस पुनरारंभ करें मैं एक्स में टेस्टएनजी के साथ टेस्टएनजी के साथ सेलेनियम वेबड्राइवर का उपयोग कर रहा हूं।टेस्टएनजी/सेलेनियम

मुझे क्या चाहिए, किसी भी टेस्ट केस को स्वचालित रूप से पुनरारंभ करने के लिए है (या तो विफलता के बिंदु से या शुरुआत से), जैसे ही यह विफल हो जाता है।

मैं TestNG ढांचे पता निम्न विधि

@Override 
    public void onTestFailure(ITestResult tr) { 
    log("F"); 
    } 

है लेकिन मैं जो testcase यह था और फिर मैं कैसे उसे पुन: प्रारंभ होगा पता लगाने के लिए पता नहीं है।

उत्तर

9

मैं इसमें वास्तविक कोड के साथ एक उदाहरण देखना चाहता था और यह पाया गया: Restarting Test immediately with TestNg

का निरीक्षण कैसे नीचे परीक्षण होगा प्रत्येक फिर से चलाया जा एक बार जैसे ही विफलता होता है।

import org.testng.Assert; 
import org.testng.IRetryAnalyzer; 
import org.testng.ITestResult; 
import org.testng.annotations.Test; 

public class Retry implements IRetryAnalyzer { 
    private int retryCount = 0; 
    private int maxRetryCount = 1; 

    public boolean retry(ITestResult result) { 

     if (retryCount < maxRetryCount) { 
      retryCount++; 
      return true; 
     } 
     return false; 
    } 

    @Test(retryAnalyzer = Retry.class) 
    public void testGenX() { 
     Assert.assertEquals("james", "JamesFail"); // ListenerTest fails 
    } 

    @Test(retryAnalyzer = Retry.class) 
    public void testGenY() { 
     Assert.assertEquals("hello", "World"); // ListenerTest fails 

    } 
} 
5

testng.org से

हर बार परीक्षण एक सूट में विफल रहते हैं, TestNG एक फ़ाइल उत्पादन निर्देशिका में TestNG-failed.xml कहा जाता है बनाता है। इस एक्सएमएल फ़ाइल में केवल इन विधियों को फिर से शुरू करने के लिए जरूरी जानकारी है जो विफल रही हैं, जिससे आप अपने परीक्षणों की पूरी तरह से चलाने के बिना असफलताओं को तुरंत पुन: पेश कर सकते हैं।

यदि आप विफलता के ठीक बाद परीक्षण को फिर से शुरू करना चाहते हैं तो आपको विफल होने वाली विधि को कॉल करने की आवश्यकता है। आप ITestResult ऑब्जेक्ट से उस विधि का नाम प्राप्त कर सकते हैं।

यदि आप सभी असफल परीक्षण मामलों को एक साथ फिर से चालू करना चाहते हैं, तो आप पहले निष्पादन के बाद testng-fail.xml इनपुट xml के रूप में दे सकते हैं।

+0

मैं उन्हें विफल होने के साथ ही उन्हें चलाने के लिए चाहता हूं। ठीक है तो मेरे पास असफल परीक्षण है और इसका नाम है, मैं परीक्षण को पुनरारंभ कैसे करूं? – MostWanted

+0

कभी दिमाग नहीं .. मुझे मिल गया .. [चीयर्स] (http://testng.org/doc/documentation-main.html#running-testng-programmatically) – MostWanted

+0

@ वकासखान ... अगर आपके पास कोई समाधान है तो कृपया समाधान पोस्ट करें । मुझे पता है कि यह अभी भी एक पुराना सवाल है ... – Sighil