43 टेस्टएनजी साक्षात्कार प्रश्न: अधिकांश शुरुआती नहीं जानते

इस ट्यूटोरियल में हम इसके विस्तृत सेट के बारे में चर्चा करने जा रहे हैं क्रिटिकल टेस्टएनजी साक्षात्कार और सवालों का जवाब देता है और कठिनाई के स्तर के आधार पर वितरित किया जाता है, जहां आप TestNg . पर अपने आप को जल्दी से बेहतर ढंग से सुसज्जित कर सकते हैं

Testng साक्षात्कार प्रश्नों के ये सेट निम्न मॉड्यूल या सेट में वितरित किए जाते हैं:

TestNg साक्षात्कार प्रश्न - अग्रिम

TestNg साक्षात्कार प्रश्न - मध्यवर्ती

TestNg साक्षात्कार प्रश्न - मूल

साक्षात्कार साक्षात्कार प्रश्न और उत्तर || 1 सेट करें

आप परीक्षण निष्पादन चक्र से एक समूह को कैसे बाहर करते हैं?

आप Testng xml फ़ाइल में नीचे दिए गए तरीके से परीक्षण मामले के एक समूह को बाहर करने के लिए बहिष्कृत टैग का उपयोग कर सकते हैं 

    

        

        

    

डिफ़ॉल्ट रूप से TestNG में उत्पन्न रिपोर्ट के प्रकार क्या हैं?

टेस्टएनजी निष्पादन के बाद 4 प्रकार की रिपोर्ट तैयार करता है, जो हैं:

  • टेस्टएनजी एचटीएमएल रिपोर्ट
  • टेस्टएनजी ईमेल-सक्षम रिपोर्ट
  • टेस्टएनजी रिपोर्ट एक्सएमएल
  • टेस्टएनजी विफल एक्सएमएल रिपोर्ट

TestNG टेस्ट सूट और TestNG टेस्ट के बीच अंतर का उल्लेख करें?

TestNG टेस्ट सूट टेस्ट क्लासेस और टेस्ट मेथड्स का संग्रह है जिसे एक साथ और साथ ही TestNG XML फ़ाइल से समानांतर रूप से चलाया जा सकता है। 

दूसरी ओर, TestNG परीक्षण विधि एक एकल परीक्षण केस फ़ाइल या परीक्षण विधि है।

थ्रेडपूलसाइज विशेषता का उपयोग क्या है @Test एनोटेशन के साथ 

थ्रेडपूलसाइज़ विशेषता के माध्यम से हम थ्रेडथोड को कई उपलब्ध थ्रेड्स के माध्यम से निष्पादित करने के लिए संख्या द्वारा विशिष्ट उल्लेख आकार के साथ एक थ्रेड पूल को परिभाषित कर सकते हैं।

यदि आह्वान का उल्लेख नहीं किया जा रहा है, तो विशेषता को अनदेखा किया जा रहा है।

@ टेस्ट (थ्रेडपूलसाइज = 3)
सार्वजनिक शून्य टेस्टकेसऑन () {
System.out.println ("testCaseOne इन प्रोसेस");
}

उपरोक्त परीक्षण विधि में, टेस्टकैसेन को तीन अलग-अलग थ्रेड से मंगाया जाएगा।

हमेशा गुण क्या करता है?

जब भी आप परीक्षण विधि को निष्पादित करना चाहते हैं तो यह ऑलवेज रन एनोटेशन विशेषता का उपयोग किया जाता है, भले ही परीक्षण विधि जिन निर्भर मापदंडों पर निर्भर करती है, विफल हो जाती है। यदि आप सत्य पर सेट करते हैं तो आपको विशेषता को सत्य पर सेट करना होगा।

विभिन्न श्रोता जो उपलब्ध हैं, वे क्या हैं?

  • आईटेस्ट लिस्टनर
  • आईरिपोर्टर 
  • ISuiteListener
  • आईएनोटेशनट्रांसफॉर्मर 
  • IAnnotationTransformer2
  • IHookable 
  • IInvokedMethodListener 
  • IMethodइंटरसेप्टर 

TestNG प्राथमिकता के लिए डिफ़ॉल्ट मान क्या है?

TestNG प्राथमिकता में डिफ़ॉल्ट मान शून्य है।

ऑटो रीट्री मेकेनिज्म का उपयोग करके टेस्टनैग फेल्ड टेस्ट को फिर से कैसे चलाया जाए?

TestNg एक इंटरफ़ेस प्रदान करता है जिसे कहा जाता है आईरेट्री विश्लेषक श्रोता जो आप इंटरफ़ेस ऑटो को कार्यान्वित कर सकते हैं, टेस्टेनग.एक्सएमएल फ़ाइल में कक्षा का उल्लेख करके अपनी असफल परीक्षण स्क्रिप्ट को फिर से चला सकते हैं, यहाँ उसी को लागू करने के लिए नीचे दिया गया कोड है:

टेस्टएनजी रीट्राई 1024x747 1
Testng साक्षात्कार प्रश्न और उत्तर- TestNg रिट्री टेस्ट स्क्रिप्ट

उपरोक्त क्षेत्र में आप री-ट्राई, अधिकतम काउंट्स की संख्या को कॉन्फ़िगर कर सकते हैं और यह भी उल्लेख कर सकते हैं कि आप उन सभी अपवादों को छोड़ सकते हैं जिन्हें आप टेस्ट स्क्रिप्ट को फिर से चलाना चाहते हैं।

पब्लिक क्लास रिट्री इम्प्लीमेंट्स IRetryAnalyzer { int retryCounter = 0; // विफल निष्पादन की अधिकतम संख्या int autoRetryLimit = 2; @Override सार्वजनिक बूलियन पुनः प्रयास करें (ITestResult iTestResult) { अगर (पुन: प्रयास काउंटर <ऑटोरेट्रीलिमिट) {पुन: प्रयास करें ++; सच लौटना; } विवरण झूठा है; } }

दृष्टिकोण दो: ऑटो रीट्री मैकेनिज्म का उपयोग करके टेस्टनग असफल टेस्ट को फिर से कैसे चलाया जाए

नीचे दिए गए दृष्टिकोण में आप 2 कक्षाएं बना सकते हैं अर्थात एक है पुनः प्रयास करें जहां आप परीक्षण विफलताओं के मामले में पुनरावृत्ति की संख्या को नियंत्रित करने के तर्क को रख सकते हैं जो इंटरफ़ेस Testng को लागू करेगा आईरेट्री विश्लेषक.

एक अन्य वर्ग मूल रूप से है जो एक अन्य इंटरफ़ेस श्रोता IAnnotationTransformer को लागू करेगा और विधि को लागू करेगा परिणत जो आंतरिक रूप से पिछली कक्षा (यानी पुनः प्रयास करें)

पब्लिक क्लास रिट्री इम्प्लीमेंट्स IRetryAnalyzer { int retryCounter = 0; // विफल निष्पादन की अधिकतम संख्या int autoRetryLimit = 2; @Override सार्वजनिक बूलियन पुनः प्रयास करें (ITestResult iTestResult) { अगर (पुन: प्रयास काउंटर <ऑटोरेट्रीलिमिट) {पुन: प्रयास करें ++; सच लौटना; } विवरण झूठा है; } }

और अंत में जोड़ें Testng.xml फ़ाइल के लिए श्रोता में CognitiveRetry वर्ग।

<listeners>
    <listener class-name= "com.lambdageeks.cognitiveRetryUtils.CognitiveRetry"/>
</listeners>

TestNG itestlistener कार्यान्वयन कैसे प्राप्त करें?

ITestListener TestNg में एक इंटरफ़ेस है जिसमें कई विधियाँ हैं (एक इंटरफ़ेस के बाद से इसे लागू किया गया है) जिसे एक वर्ग द्वारा लागू किया जा सकता है। प्रत्येक विधि विशिष्ट कार्यात्मकताओं या परिदृश्यों का प्रतिनिधित्व करती है, इसलिए आपकी आवश्यकता के आधार पर आप उन विधियों को लागू कर सकते हैं।

एक उदाहरण के लिए ऑन टेस्टविफलता एक ऐसी विधि है जिसे आप कार्यान्वित कर सकते हैं जहाँ आप कोई भी कार्यविधि करना चाहते हैं जबकि कोई भी परीक्षण विधि विफल हो जाती है, तो आप किसी भी परीक्षण विधि के विफल होने की स्थिति में स्क्रीनशॉट को कैप्चर करना चाहते हैं, ताकि आप अंदर लिखी विधि को लिख सकें। ऑन टेस्टविफलता , और जैसा कि ITestListener एक इंटरफ़ेस है इसलिए testNg घटनाओं (परीक्षण विफलताओं) पर सुनता रहेगा और जब भी परीक्षण विफलताओं को देखता है तो आपका स्क्रीनशॉट कैप्चर हो जाएगा।

जब भी आप स्क्रिप्ट का परीक्षण करते हैं, तो कैप्चरिंग स्क्रीनशॉट का कार्यान्वयन विफलताओं का सामना करता है:

आयात org.apache.commons.io.FileUtils; आयात org.openqa.selenium.OutputType; आयात org.openqa.selenium.TakesScreenshot; आयात org.openqa.selenium.WebDriver; आयात org.testng.ITestContext; आयात org.testng.ITestListener; आयात org.testng.ITestResult; आयात java.io.फ़ाइल; आयात java.io.IOException; आयात java.util.logging.Logger; सार्वजनिक वर्ग CustomListerners ITestListener लागू करता है { WebDriver ड्राइवर=null; स्ट्रिंग फ़ाइलपथ = "D:\\\\LambdaGeeks\\\\स्क्रीनशॉट"; @Override सार्वजनिक शून्य onTestFairure(ITestResult परिणाम) { स्ट्रिंग testMethodName=String.valueOf(result.getName()).trim(); ITestContext testContext = परिणाम.getTestContext(); वेबड्राइवर ड्राइवर = (वेबड्राइवर)testContext.getAttribute('ड्राइवर'); कैप्चरदस्क्रीनशॉट(testMethodName, ड्राइवर); } सार्वजनिक शून्य कैप्चरदस्क्रीनशॉट(स्ट्रिंग मेथडनेम, वेबड्राइवर ड्राइवर) { फ़ाइल स्क्रूफ़ाइल = ((स्क्रीनशॉट लेता है)ड्राइवर).getScreenshotAs(आउटपुटटाइप.फ़ाइल); /* प्रत्येक स्क्रीनशॉट बेहतर सहसंबंध के लिए परीक्षण नाम के साथ सहेजा जाएगा */ प्रयास करें { FileUtils.copyFile(scrFile, new File(filePath+methodName+".jpg")); } पकड़ें (IOException e) { e.printStackTrace(); } } सार्वजनिक शून्य ऑनफिनिश(ITestContext संदर्भ) {} सार्वजनिक शून्य onTestStart(ITestResult परिणाम) { } सार्वजनिक शून्य onTestSuccess(ITestResult परिणाम) { } सार्वजनिक शून्य onTestSkipped(ITestResult परिणाम) { } सार्वजनिक शून्य onTestFairedButWithinSuccessPercentage(ITestResult परिणाम) { } सार्वजनिक शून्य onStart (ITestContext संदर्भ) { } }

और आपको इस वर्ग को testng.xml फ़ाइल में श्रोता टैग में जोड़ने की आवश्यकता है जैसे हमने पिछले प्रश्न में किया था।

अंडकोष iAnnotationtransformer कैसे लागू करें?

TestNg IAnnotationTransformer के रूप में नामित एक इंटरफ़ेस प्रदान करता है जो "रूपांतरण" नामक एक विधि प्रदान करता है जिसे आप लागू कर सकते हैं और TestNG द्वारा रनटाइम में चालू किया जाएगा, इस कार्यान्वयन का उपयोग परीक्षण वर्ग और परीक्षण विधियों के परीक्षण एनोटेशन व्यवहार को संशोधित करने के लिए किया जाता है

नीचे के खंड में हम देखेंगे कि हम ऐसा कैसे कर सकते हैं

पब्लिक क्लास टेस्टक्लासएनोटेशन {@टेस्ट (हमेशा रन = सत्य, निर्भर करता हैऑनमेथोड्स = "टेस्टमेथोडबी") } @Test public void testMethodB() { System.out.println("--- दूसरा TestMethods ---"); Assert.fail (); } }

डिफ़ॉल्ट रूप से यदि हम उपरोक्त कोड चलाते हैं तो केवल एक विधि निष्पादित होगी जो testMethodA है और एक अन्य विधि testMethodB विफल हो जाएगी क्योंकि हम Assert.fail () विधि द्वारा इसे जानबूझकर विफल कर रहे हैं।

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

CustomAnnotationTransformers का कार्यान्वयन यहाँ जाता है:

सार्वजनिक वर्ग CustomAnnotationTransformers IAnnotationTransformer लागू करता है {सार्वजनिक बूलियन isTestRunning (ITestAnnotation iTestAnnotation) {if (iTestAnnotation.getAlwaysRun ()) {वापसी सच; } विवरण झूठा है; } सार्वजनिक शून्य परिवर्तन (ITestAnnotation एनोटेशन, क्लास टेस्टक्लास, कंस्ट्रक्टर टेस्टकंस्ट्रक्टर्स, मेथड टेस्टमेथड्स) {अगर (isTestRunning (एनोटेशन)) {एनोटेशन.सेटइनेबल (गलत); } } }

यहां श्रोता को हमें परीक्षण में जोड़ने की आवश्यकता है। xml फ़ाइल

<listeners>
    <listener class-name= "com.lambdageeks.CustomAnnotationTransformers"/>
</listeners>

अंडकोष कैसे लागू करें iinvokedmethodlistener?

यदि आप एक ऐसी सुविधा को लागू करना चाहते हैं, जहां टेस्टनेग के प्रत्येक टेस्ट विधि से पहले और बाद में कुछ निश्चित पद्धति को क्रियान्वित किया जाएगा, तो उस सुविधा को testng द्वारा लागू किया जा सकता है IInvokedMethodListener श्रोता

 

यहाँ सुविधाओं को लागू करने के लिए कोड स्निपेट है:

पैकेज com.lambdageeks; आयात org.testng.IInvokedMethod; आयात org.testng.IInvokedMethodListener; आयात org.testng.ITestResult; पब्लिक क्लास CustomAnnotationTransformers IInvokedMethodListener को लागू करता है {इनवोकेशन से पहले सार्वजनिक शून्य (IInvokedMethod विधि, ITestResult testResult) { System.out.println (" ::: IInvokedMethodListener से विधि से पहले परीक्षण विधि के लिए ट्रिगर किया गया है: "+ method.getTestMethod().getMethodName(.getMethod) ) + ":::"); } आमंत्रण के बाद सार्वजनिक शून्य (IInvokedMethod विधि, ITestResult testResult) { System.out.println ("::: IInvokedMethodListener से विधि के बाद परीक्षण विधि के लिए ट्रिगर किया जाता है:" + method.getTestMethod().getMethodName() + " : :: "); } }

यहाँ सुविधा का परीक्षण करने के लिए टेस्ट क्लास है:

सार्वजनिक वर्ग TestClassAnnotations {@Test(alwaysRun = true) public void testMethoddummy() { System.out.println ("--- यह एक परीक्षण विधि है, IInvokedMethodListener Testng श्रोता की सुविधा का परीक्षण ---"); } }

आपको TestNG iinvokedmethodlistener को Testng.xml में श्रोता टैग में हमेशा की तरह उल्लेख करना होगा

<listeners>
    <listener class-name="com.lambdageeks.CustomAnnotationTransformers"/>
</listeners>

निष्पादन का आउटपुट इस तरह दिखेगा:

::: IInvokedMethodListener से विधि से पहले परीक्षण विधि के लिए ट्रिगर किया गया है जिसका नाम है: testMethoddummy :::

- यह एक परीक्षण विधि है, IInvokedMethodListener Testng श्रोता की सुविधा का परीक्षण -

 :::: IInvokedMethodListener से विधि के बाद परीक्षण विधि के लिए ट्रिगर किया गया है जिसका नाम है: testMethoddummy :::

TestNG में डेटा प्रदाताओं को कैसे लागू किया जाए?

हम नीचे दिए गए दृष्टिकोण में TestNg का उपयोग करके DataProvider को लागू कर सकते हैं:

पब्लिक क्लास DataProviderDemo { @DataProvider(name = "dpName") public Object[][] dataProvidersMethodName() { नया ऑब्जेक्ट लौटाएं [] [] {{"लैम्ब्डा"}, {"गीक्स"}}; } @Test(dataProvider = "dpName") public void dataproviderDummyTestMethod(String dataValues) { System.out.println("डेटा प्रदाता उदाहरणों के साथ डेटा पैरामीटर::" + डेटावैल्यू); } }

यदि हम टेस्ट पद्धति की प्राथमिकता निर्धारित नहीं करते हैं, तो टेस्टएनजीजी में किस क्रम में परीक्षण निष्पादित किए जाते हैं?

TestmethodName के अल्फाबेटिकल ऑर्डर के क्रम में परीक्षण निष्पादित किए जाते हैं।

 

जैसे नीचे दिए गए कोड स्निपेट में:

पब्लिक क्लास सीक्वेंसटेस्ट {@Test () पब्लिक वॉयड गीक्स () {System.out.println ("सीक्वेंस टेस्ट, मेथड रन: गीक्स"); } @ टेस्ट () सार्वजनिक शून्य लैम्ब्डा () { System.out.println ("अनुक्रम परीक्षण, विधि चलाई गई: लैम्ब्डा"); } @ टेस्ट () सार्वजनिक शून्य एबीसी () { System.out.println ("अनुक्रम परीक्षण, विधि चलाई गई: एबीसी"); } }

आउटपुट इस तरह दिखेगा:

अनुक्रम परीक्षण, विधि भागा: abc

अनुक्रम परीक्षण, विधि भागा: geeks

अनुक्रम परीक्षण, विधि भागा: लंबोदर

 

समानांतर में अपनी टेस्ट स्क्रिप्ट कैसे चलाएं?

आप TestNg XML फ़ाइल का उपयोग करके अपनी टेस्ट स्क्रिप्ट चला सकते हैं समानांतर = "विधियाँ" थ्रेड-काउंट = "2 threadयदि आप समानांतर में अधिक थ्रेड निष्पादित करना चाहते हैं, तो यहां 2 समानांतर मामले निष्पादित होंगे।

<suite name="DummyTest" parallel="methods" thread-count="2" >

<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter" />
<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
</suite>  

GRADLE बिल्ड टूल के साथ TestNg को कैसे एकीकृत करें?

आप अलग-अलग तरीकों से टेस्टेल सूट को रनले में चला सकते हैं:

ग्रैडल का उपयोग करके TestNg Group को कैसे चलाया जाए: आप build.gradle फ़ाइल में उल्लेख कर सकते हैं एक टास्क बना सकते हैं useTestNG () और परीक्षण समूहों को चलाते समय नीचे दिए गए विवरणों का उल्लेख करें।

टेस्टएनजी ग्रैडल
TestNg साक्षात्कार और स्नातक के साथ उत्तर TestNg

TestNg लाइब्रेरी का उपयोग करके रिपोर्ट जनरेट करने के लिए ग्रैडल के साथ Testng डिफ़ॉल्ट श्रोता को कैसे चलाएं

TestNg डिफ़ॉल्ट श्रोता
TestNg साक्षात्कार प्रश्न और उत्तर- ग्रेडल डिफॉल्ट श्रोताओं के साथ टेस्ट करें

यदि आप कस्टम श्रोता का उपयोग करना चाहते हैं तो आप निम्न दृष्टिकोण में इसका उल्लेख कर सकते हैं:

टेस्टएनजी ग्रैडल कस्टम श्रोता 1024x497 1
टेस्टनेग साक्षात्कार प्रश्न और उत्तर- टेस्टेल कस्टम ग्रेडर के साथ श्रोता

कमांड प्रॉम्प्ट का उपयोग करके Testng Runner xml फ़ाइल कैसे चलाएं?

आप कमांड प्रॉम्प्ट से रनर xml फ़ाइल को चलाने के लिए TestNg Downloaded स्थान का उपयोग कर सकते हैं और org.testng.TestNg.testNgRunner.xml का उल्लेख कर सकते हैं।

java -cp "/opt/testng-7.1.jar:bin" org.testng.TestNG testngRunner.xml

मावेन के साथ TestNg XML को कैसे एकीकृत करें?

आप प्लगइन नाम के उपयोग के साथ टेस्टेन को मावेन के साथ एकीकृत कर सकते हैं maven-Surefire-plugin जहाँ आप कॉन्फ़िगरेशन का उपयोग कर testNgrunner.xml फ़ाइल चलाने के लिए कॉन्फ़िगर कर सकते हैं:

टेस्टएनजी मेवेन इंटीग्रेशन 1024x667 1
TestNg साक्षात्कार प्रश्न और उत्तर- TestNg-Maven-Surefire एकीकरण

आप TestNg और Maven का उपयोग करके TestNg टेस्ट पैरामीटर कैसे निर्दिष्ट कर सकते हैं?

आप नीचे फैशन में TestNg.XML फ़ाइल के साथ मावेन श्योरफेयर प्लगइन का उपयोग करके टेस्ट पैरामीटर निर्दिष्ट कर सकते हैं

टेस्टएनजी मेवेन टेस्ट पैरामीटर 1024x543 1
TestNg साक्षात्कार प्रश्न और उत्तर-परीक्षण पैरामीटर

साक्षात्कार साक्षात्कार प्रश्न और उत्तर || 2 सेट करें

TestNG में मंगलाचरण से क्या अभिप्राय है?

मंगलाचरण एक परीक्षण एनोटेशन विशेषता है जिसके द्वारा आप एक एकल निष्पादन में परीक्षण विधि निष्पादित की जाने वाली पुनरावृत्ति की संख्या को परिभाषित कर सकते हैं। 

 उपरोक्त परीक्षण दो बार निष्पादित करेगा क्योंकि मंगलाचरण 2 के रूप में उल्लिखित है।

@Test (आह्वानगणना = 2) सार्वजनिक शून्य testOfInvCount () { System.out.println ("आह्वान गणना परीक्षण प्रगति पर है"); }

TestNG में श्रोता क्या हैं?

TestNg में श्रोता मूल रूप से जावा में इंटरफ़ेस करते हैं जिसे आपको अपनी कक्षा में लागू करने की आवश्यकता होती है। कार्यान्वित वर्ग कुछ घटनाओं को सुनता रहेगा और उस घटना से जुड़े कोड के विशिष्ट ब्लॉक को कार्यान्वित करेगा। जब आप उस इंटरफ़ेस को लागू करते हैं जो आप अंततः कार्यान्वित किए गए तरीकों और कोड के उन ब्लॉक को लागू करते हैं या विशिष्ट घटना के रूप में और तरीकों से निष्पादित हो जाएंगे। ट्रिगर हो जाता है। 

TestNG श्रोताओं की मदद से, हम परीक्षण स्क्रिप्ट निष्पादन और उनकी स्थिति के कारण ट्रिगर की गई किसी भिन्न घटना को सुनकर बहुत सारे रन टाइम क्रिया कर सकते हैं, या हम रिपोर्टिंग कर सकते हैं। इसके अलावा, हम TestNg एनोटेशन के कार्यान्वयन को बदल सकते हैं।

TestNg में @Factory और @Dataprovider एनोटेशन के बीच अंतर का उल्लेख करें?

@डेटाप्रोवाइडर: जब आप एक ही परीक्षण निष्पादित करना चाहते हैं, लेकिन प्रत्येक रन में डेटा के विभिन्न विविध सेटों के साथ, आप डेटाप्रोवाइडर एनोटेशन का उपयोग कर सकते हैं, और इससे आप डेटासंचालित परीक्षण दृष्टिकोण प्राप्त कर सकते हैं। यहां परीक्षण विधि का निष्पादन उसी वर्ग उदाहरण का उपयोग करके होता है जिससे परीक्षण विधि संबंधित है।

@ कार्य: यह एक परीक्षण वर्ग के अंदर मौजूद सभी परीक्षण विधियों को कक्षा के अलग-अलग और कई उदाहरणों का उपयोग करके निष्पादित किया जाएगा।

लॉग जनरेशन के लिए TestNG रिपोर्टर क्लास का उपयोग कैसे करें?

आप रिपोर्टर वर्ग का उपयोग करके विवरण और डेटा लॉग कर सकते हैं, और ये लॉग टेस्टएनजी द्वारा उत्पन्न रिपोर्ट द्वारा कैप्चर किए जाएंगे

रिपोर्टर.लॉग ("लॉगिंग संदेश");

TestNG में अपवाद हैंडलिंग कैसे करें?

आप @test एनोटेशन के साथ अपेक्षित अपवाद नामक विशेषता में अपेक्षित अपवाद का उल्लेख कर सकते हैं; इस मामले में, तब TestNg पास के रूप में परीक्षण को चिह्नित करेगा।

@ टेस्ट (अपेक्षित एक्सप्रेशन = नंबरफ़ॉर्मटैसेप्शन.क्लास)

TestNg XML के माध्यम से निर्भरता इंजेक्शन कैसे प्राप्त करें?

TestNG हमें TestNG XML फ़ाइल के माध्यम से परीक्षणों के विभिन्न समूहों के बीच निर्भरता को इंजेक्ट करने की अनुमति देता है। जिसके माध्यम से हम एक समूह की दूसरे पर निर्भरता रख सकते हैं।

TestNG के लिए विभिन्न दावे दृष्टिकोण क्या हैं?

हम TestNg के साथ दो प्रकार के अभिकथन का उपयोग कर सकते हैं। 

मुलायम जोर देता है

कड़ी मेहनत करता है 

TestNG के साथ आमतौर पर उपयोग किए जाने वाले कुछ सिद्धांतों का उल्लेख करें 

TestNG में व्यापक रूप से उपयोग किए जाने वाले कुछ तरीके:

  • मुखर (बूलियन वास्तविक, बूलियन अपेक्षित)
  • मुखर (वास्तविक स्ट्रिंग, स्ट्रिंग अपेक्षित)
  • अभिकथन (स्ट्रिंग वास्तविक परिणाम, स्ट्रिंग अपेक्षित परिणाम, स्ट्रिंग संदेश)
  • मुखर (स्थिति)
  • मुखर (स्थिति)
  • मुखर (स्थिति, संदेश)
  • जोर (स्थिति, संदेश)

TestNG में मुखरता से आप क्या समझते हैं?

अपेक्षित परीक्षा परिणामों के संबंध में वास्तविक परीक्षा परिणामों को मान्य करने के लिए एक दावा किया जाता है। TestNg में, हम नरम अभिकर्मक के कठिन मुखर का उपयोग कर सकते हैं। 

TestNg में हार्ड मुखर और नरम मुखर के बीच अंतर

हार्ड मुखर के साथ काम करते समय, यदि हमें दावे की स्थिति में कोई विफलता मिलती है, तो बाद के परीक्षण चरणों को निष्पादित नहीं किया जाएगा और उनका निरस्त कर दिया जाएगा, और अंततः परीक्षण को असफल परीक्षण मामले के रूप में चिह्नित किया जाएगा। 

जबकि दूसरी ओर शीतल मुखर सभी अभिकथन बिंदुओं को मान्य करने पर विचार करता है, चाहे किसी भी दावे में कोई असफलता हो। इसका मतलब है कि यदि कोई दावा विफल हो जाता है, तो परीक्षण निष्पादन समाप्त नहीं होता है।

TestNg में सॉफ्ट असेस्मेंट कैसे लिखें 

कोड के नीचे का टुकड़ा TestNG में नरम दावे को लिखने का दृष्टिकोण देता है

@Test सार्वजनिक शून्य अभिकथन () {SoftAssert softAssertion = नया SoftAssert (); // अभिकथन 1 softAssertion.assertEquals ("exp", "act"); // अभिकथन 2 softAssertion.assertEquals(123, 123); // अभिकथन 3 softAssertion.assertEquals ("वास्तविक मूल्य", "अपेक्षित मूल्य"); // अंत में सभी अभिकथन मूल्यों पर विचार करते हुए softAssertion.assertAll (); }

TestNG समूहों में नियमित अभिव्यक्ति का उपयोग कैसे करें?

TestNG में एक नियमित अभिव्यक्ति का उपयोग उन समूहों को निष्पादित करने के लिए किया जा सकता है जिनके नामकरण में समान पैटर्न है। 

उदाहरण के लिए, यदि आप नाम के अनुसार "testX" से शुरू होने वाले सभी समूहों को चलाना चाहते हैं, तो आप TestNG XML फ़ाइल में टेस्टएक्स के रूप में नियमित अभिव्यक्ति का उपयोग कर सकते हैं।

साक्षात्कार साक्षात्कार प्रश्न और उत्तर || 3 सेट करें

TestNG क्या है?

TestNg मूल रूप से "का प्रतिनिधित्व करता हैपरीक्षण अगली पीढ़ी“एक इकाई परीक्षण ढाँचा है जो अपनी कार्यक्षमता के साथ विभिन्न एनोटेशन प्रदान करके परीक्षण स्वचालन और स्वचालन लिपियों के प्रवाह और क्रम को नियंत्रित करता है।

TestNg के क्या फायदे हैं?

  •             टेस्टिंग के विभिन्न एनोटेशन के माध्यम से, आप बेहतर तरीके से ऑटोमेशन और टेस्ट निष्पादन के प्रवाह और क्रम को नियंत्रित कर सकते हैं।
  •             टेस्ट क्लास या टेस्ट स्क्रिप्ट मेथड्स समानांतर निष्पादन को टेस्टएनजी के साथ हासिल किया जा सकता है।
  •            टेस्टएनजी को मैवेन, ग्रैडल जैसे विभिन्न बिल्ड टूल्स के साथ आसानी से एकीकृत किया जा सकता है। साथ ही, इसे जेनकिंस जैसे CICD टूल के साथ एकीकृत किया जा सकता है।
  •            टेस्टएनजी विवरण एचटीएमएल रिपोर्टिंग सुविधा प्रदान करता है और आसानी से अन्य टेस्ट रिपोर्टिंग प्लेटफॉर्म जैसे कि लुभाना, टेस्टएनजी श्रोताओं की सुविधाओं के साथ विस्तृत रिपोर्ट के साथ एकीकृत होता है।
  •           सभी परीक्षण testng.xml फ़ाइल द्वारा ट्रिगर किए जा सकते हैं जहां आप टेस्ट क्लास/टेस्ट/टेस्ट पैकेज नाम का उल्लेख कर सकते हैं।
  •           डेटा संचालित परीक्षण TestNg DataProvider एनोटेशन के साथ किया जा सकता है। साथ ही, टेस्टिंग.एक्सएमएल के माध्यम से भी पैरामीटराइजेशन टेस्ट किया जा सकता है, जैसे कि क्रॉस ब्राउजर टेस्टिंग करते समय, आप विभिन्न परीक्षणों के लिए अलग-अलग ब्राउज़रों को पैरामीटर कर सकते हैं। यह फीचर टेस्टएनजी के साथ डेटा ड्रिवेन फ्रेमवर्क बनाने में मदद करता है।
  •          TestNg शामिल और बहिष्कृत विशेषता के साथ tesngNg.xml से परीक्षण के एक सेट को शामिल/बहिष्कृत करने का एक तरीका प्रदान करता है।
  •          टेस्टएनजी के साथ, आप परीक्षणों के बीच अपने परीक्षणों और निर्भरता इंजेक्शन को समूहित कर सकते हैं।
  •          टेस्टएनजी कई श्रोताओं को प्रदान करता है जिनके साथ आप बहुत सी चीजें हासिल कर सकते हैं जैसे आप कस्टम रिपोर्टिंग (आईआरपोर्टर), विभिन्न टूल्स (आईटीएस्ट लिस्टनर) के साथ एकीकरण कर सकते हैं, रनटाइम में टेस्टएनजी टेस्ट एनोटेशन के व्यवहार को IAnnotationTransformer और कई अन्य के साथ बदल सकते हैं।
  •         आप विशिष्ट परीक्षण को छोड़ सकते हैं, अपने परीक्षण क्रम को प्राथमिकता दे सकते हैं, TestNg टेस्ट एनोटेशन के साथ एक समयबद्ध परीक्षण बना सकते हैं।
  •         आप Assert Statement लिखने के लिए TestNg के साथ Hard Assertion के साथ-साथ Soft Assertion का उपयोग कर सकते हैं।
  •         TestNg प्रत्येक परीक्षण निष्पादन के बाद TestNG-fail.xml उत्पन्न करता है, ताकि आप अपनी असफल परीक्षण स्क्रिप्ट को फिर से चलाने के लिए वही जेनरेट किया गया TestNG-fail.xml कर सकें।
  •        टेस्टएनजी विभिन्न टेस्ट एनोटेशन प्रदान करता है जैसे @BeforeMethod, @AfterMethod, @BeforeTest, @AfterTest.@इससे पहले,@AfterSuite।
  •        आप टेस्टएनजी के साथ अपेक्षित अपवाद टेस्ट चला सकते हैं।
  •        आप असफल परीक्षण को Testng के IretryAnalyzer के साथ फिर से चला सकते हैं 

तुम कैसे हो TestNg परीक्षण स्क्रिप्ट को ट्रिगर और निष्पादित करें?

आप TestNg टेस्ट स्क्रिप्ट को कई तरीकों से चला सकते हैं: 

  •       टेस्ट क्लास पर राइट क्लिक करें और "इस रूप में चलाएं" और "टेस्टएनजी टेस्ट" के विकल्प का चयन करें।
  •       फ़ाइल पर testng.xml और राइट बनाएं और xml फ़ाइल चलाएँ।
  •       यदि आप testNg.xml को बिल्ड टूल जैसे Maven/Gradle के साथ एकीकृत करते हैं, तो आप maven या Gradle से भी चला सकते हैं।
  •       यदि मावेन/ग्रैडल जैसे बिल्ड टूल को सीआईसीडी के साथ एकीकृत किया गया है, तो आप सीआईसीडी, यानी जेनकिंस से चला सकते हैं।

उपलब्ध है कि Testng एनोटेशन राज्य?

आमतौर पर इस्तेमाल किए जाने वाले Testng टेस्ट एनोटेशन हैं:

  • @BeforeSuite
  • @ आफ्टरसाइट
  • @ सबसे पहले
  • @ बाद में
  • @कक्षा से पहले
  • @कक्षा के बाद
  • @BeforeMethod
  • @ आफ्टरमेथोड
  • @ बिफोरग्रुप्स
  • @ बाद के समूह
  • @परीक्षा

TestNg एनोटेशन निष्पादन अनुक्रम का उल्लेख करें?

टेस्ट निष्पादन के दृष्टिकोण से, सभी उपलब्ध टेस्टनॉग एनोटेशन के लिए नीचे अनुक्रम है:

पूर्वनिर्धारण एनोटेशन:

  • @BeforeSuite
  • @ सबसे पहले
  • @कक्षा से पहले
  • @BeforeMethod
  • टेस्ट एनोटेशन:
  • @परीक्षा
  • पोस्टकंडिशन एनोटेशन: 
  • @ आफ्टरसाइट
  • @ बाद में
  • @कक्षा के बाद
  • @ आफ्टरमेथोड

परीक्षण स्क्रिप्ट के लिए परीक्षण निष्पादन को अक्षम कैसे करें?

आप सक्षम की गई विशेषता का उपयोग कर सकते हैं, यह नीचे दिए गए @Test एनोटेशन विशेषता के झूठे के बराबर है:

@ टेस्ट (सक्षम = गलत) सार्वजनिक शून्य लॉगआउट () {System.out.println ("नमूना परीक्षण"); }

आप TestNG xml में श्रोताओं को कैसे निर्दिष्ट कर सकते हैं?

आप श्रोताओं का उल्लेख करने के लिए टेस्स xml फ़ाइल का उपयोग कर सकते हैं, नीचे दिए गए दृष्टिकोण में परीक्षण स्क्रिप्ट निष्पादन के भाग के रूप में उपयोग किया जा सकता है:

        

        

...

TestNg में टाइमआउट टेस्ट क्या है?

इस स्थिति में, "टाइमआउट परीक्षण" का अर्थ है, यदि परीक्षण स्क्रिप्ट निष्पादित करने के लिए निर्दिष्ट समय अवधि की तुलना में अधिक समय लेती है, तो testng परीक्षण को निरस्त कर देगा और असफल परीक्षण के रूप में चिह्नित करेगा।

@Test(timeOut = 6000)//इस बार mulliseconds में public void testShouldPass() इंटरप्टेड एक्सेप्शन फेंकता है {Thread.sleep(2000); }

TestNG के साथ Expected Exception टेस्ट कैसे प्राप्त करें?

यदि एक परीक्षण विधि एक अपवाद को फेंकती है, जो परीक्षण एनोटेशन अपेक्षित एक्सपेक्टेशन विशेषता के हिस्से के रूप में निर्दिष्ट है, तो टेस्टनग परीक्षण को पास के रूप में चिह्नित करेगा।

@ टेस्ट (अपेक्षित अपवाद = अंकगणित अपवाद। वर्ग) सार्वजनिक शून्य टेस्टडिविजन () {int i = 1 / 0; }

 उपरोक्त परीक्षण विधि पारित की जाएगी क्योंकि यह TestNG द्वारा अपेक्षित अपवाद को फेंकता है।

@BeforeTest और @BeforeMethod एनोटेशन में क्या अंतर है?

प्रत्येक परीक्षण से पहले @BeforeTest को एक बार निष्पादित किया जाता है टैग testng.xml फ़ाइल में उल्लेख किया गया है 

@BeforeMethod को प्रत्येक परीक्षण स्क्रिप्ट विधि से पहले निष्पादित किया जाता है।

Testng.xml फ़ाइल का उपयोग करने का क्या फायदा है?

Testng.xml फ़ाइल के साथ, आप एकल testng xml फ़ाइल में एकल परीक्षण सूट या कई परीक्षण सूट के साथ निष्पादन के प्रवाह को नियंत्रित कर सकते हैं। कुछ महत्वपूर्ण विशेषताएं हैं:

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

TestNG का उपयोग करके आप कितने प्रकार की निर्भरता प्राप्त कर सकते हैं?

TestNG के साथ हम दो प्रकार की निर्भरताएं प्राप्त कर सकते हैं: 

A. निर्भरताएँ: 

इस निर्भरऑनमेथोड्स विशेषता का उपयोग करके, आप यह परिभाषित कर रहे हैं कि कौन सी परीक्षा पद्धति अन्य परीक्षण विधियों पर निर्भर होगी, इसलिए यदि निर्भर विधि विफल है या नहीं चलती है, तो आश्रित परीक्षा पद्धति भी नहीं चलेगी।

@Test public void loginUserProfile() { System.out.println ("लॉगिन यूजर"); } @Test (निर्भर करता हैOnMethods = "loginUserProfile") सार्वजनिक शून्य logOutPage_user() { System.out.println ("उपयोगकर्ता के लिए लॉगआउट पृष्ठ"); }

 यहाँ logOutPage_user परीक्षण विधि है, जो कि LoginUserProfile परीक्षण के सफल निष्पादन के बाद चलेगी।

B. भरोसेमंद समूह: 

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

निष्पादन का प्रवाह इस तरह से होता है अर्थात परीक्षण समूह पहले ट्रिगर और निष्पादित हो जाता है और फिर आश्रित परीक्षण विधि चालू हो जाती है, और एक बार समूह परीक्षण के सफल होने के बाद, निर्भर परीक्षण विधि निष्पादित हो जाएगी।

@Test(groups="AtestGroupName") public void testcaseOne() { System.out.println("testcaseOne in process"); } @Test(groups="AtestGroupName") public void testcaseTwo() { System.out.println("testcaseTwo in process"); } @Test (निर्भर करता हैOnGroups="AtestGroupName") सार्वजनिक शून्य testcaseThree() { System.out.println ("testcaseThree in process"); }

निष्कर्ष: इसके साथ हम सभी महत्वपूर्ण और महत्वपूर्ण की सूची को समाप्त करते हैं TestNg साक्षात्कार प्रश्न और उत्तर , TestNg पर बेहतर पकड़ पाने के लिए आप इसके माध्यम से जा सकते हैं TestNg पर संपूर्ण प्रलेखन.

इस बारे में और जानने के लिए संपूर्ण सेलेनियम ट्यूटोरियल आप यहां देख सकते हैं।

एक टिप्पणी छोड़ दो