2012-06-14 16 views
5

टेस्टएनजी + सेलेनियम का उपयोग करने पर, मैं कक्षाओं के निष्पादन के आदेश को सुनिश्चित करने में सक्षम नहीं हूं। नीचे निर्दिष्ट आदेश (testng.xml में) काम नहीं कर रहा है -> कक्षा दो पहले निष्पादित करता है और फिर क्लासऑन निष्पादित होता है।यह सुनिश्चित करने के लिए कि TestNG.xml में निर्दिष्ट आदेश को बनाए रखा गया है?

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="ABC" parallel=""> 
    <test verbose="2" name="xyz" annotations="JDK" preserve-order="true"> 
    <classes> 
     <class name="script.ClassOne"/> 
     <class name="script.ClassTwo"/> 
    </classes> 
    </test> 
</suite> 

मैं कैसे सुनिश्चित कर सकता हूं कि TestNG.xml में निर्दिष्ट आदेश को बनाए रखा गया है?

+0

संरक्षित-आदेश मेरे लिए काम करता है .. एक साधारण परीक्षण किया। क्या आप अपना कोड और आउटपुट प्रकाशित कर सकते हैं .. –

+0

यह अभी भी टूटा हुआ है। इस समस्या के लिए कोई संकल्प? – sebnukem

उत्तर

4

TestNG documentation के अनुसार:

डिफ़ॉल्ट रूप से, TestNG क्रम में वे एक्सएमएल फ़ाइल में पाए जाते हैं में अपने परीक्षण चलेंगे। यदि आप चाहते हैं वर्गों और तरीकों इस फाइल में सूचीबद्ध है, एक अप्रत्याशित क्रम में चलाने के लिए झूठी

को बनाए रखने के क्रम के गुण सेट

मैं जा preserve-order बाहर विशेषता है, क्योंकि यह सेट किया जाता है का सुझाव ।

  1. आह्वान प्रोग्राम के रूप में परीक्षण:

    हालांकि, अगर आप दो अन्य विकल्प परीक्षण तरीकों/वर्गों के लिए विशेष आदेश के लिए मजबूर करने की है।

  2. लागू method interceptor, जो परीक्षणों की सूची का आदेश देगा।
+1

लेकिन मेरे मामले में testng.xml में परिभाषित निष्पादन प्रवाह का पालन नहीं किया जाता है। मैं चाहता हूं कि निष्पादन प्रवाह testng.xml के अनुसार होना चाहिए। अगर मैं संरक्षित आदेश छोड़ देता हूं तो समस्या अभी भी बनी रहती है। इसके लिए क्या कारण हो सकता है? – Mandy

+0

आप टेस्टएनजी के पुराने संस्करण का उपयोग कर रहे हैं जहां वह ध्वज डिफ़ॉल्ट रूप से सेट नहीं किया गया था। सुनिश्चित करें कि आप नवीनतम संस्करण का उपयोग करें। –

+0

मैंने देखा है कि विधि आदेश ठीक काम करता है अगर आप उन्हें 10 परिभाषा के भीतर संग्रह के अंदर वांछित क्रम में स्पष्ट रूप से सूचीबद्ध करते हैं। अन्यथा, वे एक अप्रत्याशित क्रम में हैं। –

0

.... घटना के थोड़ी देर बाद मुझे एक ही समस्या थी और मुझे खुद को मिला।

अंत ऐसा इसलिए है क्योंकि अलग-अलग परीक्षण मेरे मामले में तो @Test टिप्पणी में प्राथमिकता के साथ चिह्नित किया गया था, लेकिन अपने उदाहरण script.ClassTwo से script.ClassOne

4

एक उच्च प्राथमिकता थी तुम बस के समानांतर मान सेट करने के लिए है में कोई भी

<suite name="ABC" parallel="none"> 

यह मेरे लिए काम करता है!

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