20 most popular testng interview questions
आपकी तैयारी में मदद करने के लिए परीक्षा के साथ अक्सर पूछे जाने वाले टेस्टNG साक्षात्कार के शीर्ष प्रश्न और उत्तर:
TestNG पर सबसे लोकप्रिय और अक्सर पूछे जाने वाले साक्षात्कार प्रश्न और उत्तर की एक सूची यहां इस लेख में बताई गई है।
अवधारणा की आपकी आसान समझ के लिए संबंधित स्थानों पर सरल उदाहरण जोड़े जाते हैं। मुझे यकीन है कि ये प्रश्न आपको किसी भी TestNG साक्षात्कार को सफलतापूर्वक क्रैक करने में मदद करेंगे।
अक्सर पूछे जाने वाले टेस्ट एनएनजी साक्षात्कार प्रश्न
Q # 1) TestNG क्या है?
उत्तर: TestNG डेवलपर्स द्वारा जावा प्रोग्राम में यूनिट टेस्ट निष्पादित करने के लिए बनाई गई रूपरेखा है।
TestNG का उपयोग सॉफ्टवेयर परीक्षकों द्वारा सेलेनियम वेबड्राइवर में निर्मित स्वचालित परीक्षण स्क्रिप्ट को कुशलतापूर्वक चलाने के लिए भी किया जाता है। इसका पूर्ण रूप 'नई पीढ़ी का परीक्षण' ढांचा है।
jnlp फ़ाइल कैसे खोलें
यह 'JUnit' से प्रेरित है जो कि जावा परीक्षण इकाई के लिए एक और रूपरेखा है। JUnit में सभी विशेषताओं के अलावा, TestNG की अपनी नई विशेषताएं हैं जो इसे और अधिक शक्तिशाली बनाती हैं।
Q # 2) आप ग्रहण में TestNG कैसे स्थापित करेंगे?
उत्तर:
ग्रहण पर TestNG स्थापित करने के लिए नीचे दिए गए चरणों का पालन करें:
- ग्रहण पर जाएँ -> 'मदद' पर क्लिक करें -> 'नया सॉफ़्टवेयर स्थापित करें' पर क्लिक करें।
- 'जोड़ें' बटन पर क्लिक करें, 'अगला' टेक्स्टबॉक्स में नाम (अधिमानतः TestNG) दर्ज करें। 'स्थान' पाठ बॉक्स में दर्ज करें और 'ठीक' कार्रवाई बटन पर क्लिक करें।
- TestNG चेकबॉक्स की जाँच करें और 'अगला' कार्रवाई बटन पर क्लिक करें। स्थापना शुरू हो जाएगी और स्थापना के बाद ग्रहण शुरू हो जाएगा।
- ग्रहण में परियोजना पर राइट-क्लिक करें -> बिल्ड पथ चुनें -> बिल्ड पथ कॉन्फ़िगर करें।
- पुस्तकालय टैब का चयन करें -> जोड़ें पुस्तकालय बटन पर क्लिक करें -> TestNG का चयन करें-> अगला पर क्लिक करें -> समाप्त और लागू करें पर क्लिक करें और बंद करें।
Q # 3) TestNG स्क्रिप्ट को कैसे चलाएं?
उत्तर:
TestNG स्क्रिप्ट चलाने के लिए:
ग्रहण में कक्षा पर राइट-क्लिक करें, 'रन के रूप में' पर क्लिक करें और 'टेस्टएनजी टेस्ट' चुनें।
या
सीधे ग्रहण के टूलबार पर रन बटन पर क्लिक करें।
Q # 4) TestNG में उपयोग किए गए एनोटेशन क्या हैं?
उत्तर: TestNG में एनोटेशन के तीन खंड हैं:
(i) पूर्वधारणा एनोटेशन: येTestNG एनोटेशन हैं जो परीक्षण से पहले निष्पादित किए जाते हैं।
@BeforeSuite, @BeforeClass, @BeforeTest, @BeforeMethod प्रीडोंडेशन एनोटेशन हैं।
(ii) टेस्ट एनोटेशन: यह एनोटेशन है जो केवल परीक्षण मामले (परीक्षण मामले को निष्पादित करने के लिए लिखी गई विधि से पहले) का उल्लेख है
@ टेस्ट परीक्षण एनोटेशन है
(iii) पोस्टकंडिशन एनोटेशन: ये वे एनोटेशन हैं जिन्हें परीक्षण मामले के बाद निष्पादित किया जाता है। (परीक्षण मामले को निष्पादित करने के लिए विधि लिखे जाने के बाद)
@AfterSuite, @AfterClass, @AfterTest, @ आफ्टरमेथोड पोस्टकांड एनोटेशन हैं
Q # 5) TestNG में एनोटेशन के निष्पादन का क्रम क्या है?
उत्तर: एनोटेशन के निष्पादन की अनुक्रम निम्नानुसार है:
@BeforeSuite @BeforeTest @BeforeClass @BeforeMethod @Test @AfterMethod @AfterClass @Aftertest @AfterSuite
Q # 6) टेस्टएनजी के क्या फायदे हैं?
उत्तर: TestNG के लाभ इस प्रकार हैं:
- यह एक ओपन-सोर्स फ्रेमवर्क है, इसलिए इसे कॉन्फ़िगर करना आसान है।
- TestNG का उपयोग करके हम व्यवस्थित रूप से परीक्षण मामलों को बना सकते हैं।
- यह बहुत सारे एनोटेशन देता है जो बदले में परीक्षण के मामले को आसान बनाता है।
- TestNG का उपयोग करना, परीक्षणों की प्राथमिकताओं और निष्पादन के अनुक्रम को परिभाषित किया जा सकता है।
- TestNG का उपयोग करके समूह बनाना संभव है।
- यह HTML रिपोर्ट उत्पन्न करता है (सेलेनियम वेबड्राइवर अकेले परीक्षण रिपोर्ट उत्पन्न नहीं कर सकता है, यह SW को इसे प्राप्त करने में मदद करता है)।
- TestNG का उपयोग करके डेटा पैरामीटरकरण संभव है।
- JUnit की सभी कार्यात्मकताओं के अलावा, TestNG की अपनी कार्यक्षमताएं हैं, जो बदले में इसे और अधिक शक्तिशाली बनाती हैं।
Q # 7) TestNG में प्राथमिकताएँ कैसे निर्धारित करें?
उत्तर: कक्षा में हमेशा एक से अधिक परीक्षा या पद्धति होती है। यदि हम इन परीक्षणों या विधियों को प्राथमिकता नहीं देते हैं, तो विधियों को वर्णानुक्रम में चुना जाता है और निष्पादन करते समय निष्पादित किया जाता है।
यदि हम चाहते हैं कि अनुक्रम में परीक्षण चलाना चाहते हैं, तो हमें @Test एनोटेशन के साथ प्राथमिकता निर्धारित करने की आवश्यकता है।
इसे इस प्रकार किया जा सकता है:
@ टेस्ट (प्राथमिकता = 1), @ टेस्ट (प्राथमिकता = २)
निम्नलिखित उदाहरण पर विचार करें:
@Test (priority=2) public void getText() { driver.findElement(By.id(“id”)).getText(); } @Test(priority=1) public void clickelement() { driver.findElement(By.id(“id”)).click(); }
उपरोक्त उदाहरण में, क्लिकलेमेंट () को पहले निष्पादित किया जाएगा क्योंकि प्राथमिकता 1 पर सेट है।
और, getText () clickelement () के बाद निष्पादित हो जाएगा क्योंकि इसकी प्राथमिकता 2 पर सेट है।
Q # 8) TestNG का उपयोग करके प्रोजेक्ट रिपोर्ट कैसे साझा करें?
उत्तर: ऐसा करने के कुछ तरीके हैं:
(मैं) TestNG क्लास के निष्पादन के बाद, एक टैब है जिसे 'रनिंग क्लास का परिणाम' कहा जाता है जो कंसोल के बगल में उत्पन्न होता है।
हम इसे कॉपी कर सकते हैं और साझा कर सकते हैं।
(ii) TestNG वर्ग के निष्पादन के बाद,
- प्रोजेक्ट के नाम पर राइट-क्लिक करें और रिफ्रेश करें
- 'टेस्ट-आउटपुट' फ़ोल्डर पर क्लिक करें
- 'Index.html' फ़ाइल पर राइट-क्लिक करें और गुण चुनें
- 'स्थान' के आगे लिंक कॉपी करें
हम मूल HTML परीक्षण रिपोर्ट देखने के लिए इस लिंक को साझा कर सकते हैं जो TestNG द्वारा बनाई गई है।
यह वह फ़ाइल है जो TestNG का उपयोग करके कक्षा के निष्पादन के बाद स्वचालित रूप से आपकी मशीन पर उत्पन्न हो जाती है।
Q # 9) आप TestNG में ग्रुपिंग को कैसे परिभाषित करेंगे?
उत्तर: हम नीचे दिखाए गए अनुसार समूहों की विशेषता का उपयोग करके TestNG में समूह को परिभाषित कर सकते हैं:
@ टेस्ट (समूह = 'शीर्षक')
Q # 10) TestNG पर निर्भरता क्या है?
उत्तर: कुछ विधियां हैं जिन पर कई विधियां निर्भर हैं।
उदाहरण के लिए, यदि हम किसी भी एप्लिकेशन का परीक्षण करना चाहते हैं, और यदि एप्लिकेशन का लॉगिन पृष्ठ काम नहीं कर रहा है, तो हम बाकी परिदृश्यों का परीक्षण करने में सक्षम नहीं होंगे।
तो, LoginTest वह विधि है जिस पर कई परीक्षण निर्भर हैं।
इसलिए, हम निम्नानुसार लिखेंगे:
@Test(dependsOnMethods=”LoginTest”) Public void homePageLaunched() { }
उपरोक्त कोड दिखाता है कि HomePageLaunched () विधि पूरी तरह से LoginTest () विधि पर निर्भर है।
यदि LoginTest () पास किया जाता है, तो ही होमपेजलंच () विधि निष्पादित होती है
Q # 11) TestNG में InvocationCount क्या है?
उत्तर: यदि हम एक परीक्षण मामले 'n' संख्या को निष्पादित करना चाहते हैं, तो हम नीचे दिए गए उदाहरण में दिखाए गए इनवोकेशन विशेषता का उपयोग कर सकते हैं।
उदाहरण:
@Test(invocationCount=8) Public void print() { }
उपरोक्त उदाहरण में, प्रिंट () विधि 8 बार निष्पादित हो जाएगी।
Q # 12) TestNG में समय क्या है?
उत्तर: यदि स्क्रिप्ट में कोई भी विधि निष्पादित होने में लंबा समय लेती है, तो हम टेस्टएनजी में 'टाइमआउट' का उपयोग करके उस पद्धति को समाप्त कर सकते हैं।
@ टेस्ट (टाइमआउट = 5000)
इस मामले में, विधि 5000 एमएस (5 सेकंड) में समाप्त हो जाएगी और परीक्षण मामले को 'विफल' के रूप में चिह्नित किया गया है।
Q # 13) TestNG में अपवादों को कैसे संभालें?
उत्तर: यदि कुछ विधियां हैं जिनसे हम कुछ अपवादों की अपेक्षा करते हैं, तो हम @Test एनोटेशन में अपवाद का उल्लेख कर सकते हैं ताकि परीक्षण का मामला विफल न हो।
उदाहरण: यदि किसी विधि से 'नंबरफ़ॉर्मैट अपवाद' अपवाद की अपेक्षा की जाती है, तो कोई अपवाद नहीं है, तो परीक्षण का मामला इस अपवाद के कारण विफल हो जाएगा।
लेकिन हम TestNG में इसे 'अपेक्षित अपवाद' विशेषता का उपयोग करके कर सकते हैं।
@ टेस्ट (अपेक्षित अपवाद = नंबरफ़ॉर्मेट अपवाद.क्लास)
फिर बिना फेल हुए ही टेस्ट केस चलेगा।
Q # 14) आम TestNG दावे क्या हैं?
उत्तर: आम TestNG दावे में शामिल हैं:
(मैं) Assert.assetEquals (वास्तविक स्ट्रिंग, स्ट्रिंग अपेक्षित);
- यह दो तारों को स्वीकार करता है।
- यदि दोनों स्ट्रिंग्स समान हैं, तो परीक्षण केस सफलतापूर्वक निष्पादित होता है अन्यथा परीक्षण केस विफल हो जाता है।
(ii) Assert.assertEquals (वास्तविक स्ट्रिंग, स्ट्रिंग अपेक्षित, स्ट्रिंग संदेश)
- यह दो तारों को स्वीकार करता है।
- यदि दोनों स्ट्रिंग्स समान हैं, तो परीक्षण केस सफलतापूर्वक निष्पादित होता है अन्यथा परीक्षण केस विफल हो जाता है।
- संदेश मुद्रित किया जाता है यदि परीक्षण का मामला विफल हो जाता है।
(iii) Assert.assertEquals (बूलियन वास्तविक, बूलियन अपेक्षित)
- यह दो बूलियन मूल्यों को स्वीकार करता है।
- यदि दोनों बूलियन मान समान हैं, तो परीक्षण केस सफलतापूर्वक निष्पादित होता है अन्यथा परीक्षण केस विफल हो जाता है।
(iv) Assert.assertTrue ()
- यह एक बूलियन मूल्य को स्वीकार करता है।
- यदि स्थिति सही है, तो अभिकथन पास हो जाता है, अन्यथा एक त्रुटि दिखाई जाती है।
(v) Assert.assertFalse ()
- यह एक बूलियन मूल्य को स्वीकार करता है।
- यदि स्थिति गलत है, तो अभिकथन पास हो जाता है, अन्यथा एक त्रुटि दिखाई जाती है।
(हम) Assert.assertTrue (, संदेश)
- यह एक बूलियन मूल्य को स्वीकार करता है।
- यदि स्थिति सही है, तो अभिकथन पास हो जाता है, अन्यथा उल्लिखित संदेश के साथ एक जोरदार त्रुटि प्रदर्शित होती है।
(क्या तुम आ रहे हो) Assert.assertFalse (, संदेश)
- यह एक बूलियन मूल्य को स्वीकार करता है।
- यदि स्थिति गलत है, तो अभिकथन पास हो जाता है, अन्यथा उल्लेखित संदेश के साथ एक जोरदार त्रुटि प्रदर्शित होती है।
Q # 15) TestNG में किसी टेस्ट को कैसे निष्क्रिय करना है?
उत्तर:
TestNG में एक परीक्षण को अक्षम करने के लिए, हमें निम्न प्रकार से 'सक्षम' विशेषता का उपयोग करना होगा:
@ टेस्ट (सक्षम = 'गलत')
Q # 16) टेस्टएनजी में एसेर्ट्स के प्रकार क्या हैं?
उत्तर: परिणामों (पास / असफल) को मान्य करने के लिए, हमें दावे का उपयोग करना होगा।
TestNG में दो प्रकार के मुखर हैं:
(i) हार्ड एस्टर:
हार्ड एसेलर वह सामान्य एस्टर है जो टेस्टएनजी वर्ग में सत्यापन करने के लिए उपयोग किया जाता है।
हमें निम्नानुसार कठिन मुखर के लिए Assert वर्ग का उपयोग करना है:
Assert.assertEquals (वास्तविक मूल्य, अपेक्षित मूल्य);
यदि कठिन मुखर विफल हो जाता है, तो मुखर कथन के बाद कोई भी कोड निष्पादित नहीं होता है।
(ii) नरम अभिकर्मक:
यदि हम मुखर कथन विफल होने के बाद भी परीक्षण निष्पादन जारी रखना चाहते हैं, तो हमें नरम मुखर का उपयोग करना होगा।
एक नरम मुखर बनाने के लिए, हमें निम्न प्रकार से एक 'सॉफ्टएसेटर' वर्ग का एक ऑब्जेक्ट बनाना होगा:
softAssert sassert = नया सॉफ्टएसेटर ();
sassert.assertAll ();
इसलिए अब यदि परीक्षण का मामला विफल हो जाता है, तो जब हम नरम मुखर का उपयोग करते हैं तो निष्पादन समाप्त नहीं होता है।
Q # 17) Testng.xml फ़ाइल के माध्यम से परीक्षण के मामले में पैरामीटर कैसे पारित करें?
उत्तर: यदि हमारे पास एक वर्ग है जिसमें एक लॉगिन विधि परिभाषित है, तो हम लॉगिन मापदंडों को इस लॉगिन विधि से परीक्षण से पास कर सकते हैं। xml फ़ाइल
हमें '@ पैरामीटर्स' एनोटेशन का उपयोग इस प्रकार करना होगा:
@Parameters({'user_name','password'}) @Test public void loginapp() { driverget(“appname”); driver.findElement(By.id(“login”)).sendkeys(user_name); driver.findElement(By.id(“password”)).sendkeys(password); }
अब, testng.xml फ़ाइल पर जाएँ और निम्नानुसार पैरामीटर दर्ज करें:
“suitename” > ”testname” > ”user_name” value= ”user1” /> ”password” value = ”pass1” /> ”passingparameters” />
Q # 18) Testng.xml फ़ाइल बनाने के लिए क्या आवश्यक है?
उत्तर: जब हम सेलेनियम वेबड्राइवर का उपयोग करके एक परियोजना का परीक्षण करते हैं, तो उस पर बहुत सारी कक्षाएं होती हैं। हम इन वर्गों को एक-एक करके नहीं चुन सकते हैं और उन्हें स्वचालन के लिए रख सकते हैं। इसलिए हमें एक सूट बनाने की जरूरत है ताकि सभी कक्षाएं एक ही परीक्षण सूट में चलें।
हम एक test.xml फ़ाइल बनाकर इसे प्राप्त कर सकते हैं।
Q # 19) TestNG में XML फाइल कैसे बनाएं?
उत्तर: Src फ़ोल्डर में जाएं -> फ़ाइल पर क्लिक करें -> फ़ाइल का नाम दर्ज करें (ज्यादातर लिखित परीक्षण। xml)
फिर, फिनिश पर क्लिक करें।
हमारे पास एक खाली XML फ़ाइल है। यहां, हमें प्रोजेक्ट का नाम और नीचे दिखाए गए पैकेज नाम के साथ निष्पादित की जाने वाली कक्षाओं का उल्लेख करना होगा।
'Testing project' > 'testing feature 1' > 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' />
इस फाइल को चलाने के लिए, हमें पैकेज एक्सप्लोरर में testng.xml पर जाना होगा और राइट क्लिक करना होगा -> TestNG सूट
Q # 20) TestNG में SKIP अपवाद को कैसे फेंकें?
कैसे राउटर सुरक्षा कुंजी खोजने के लिए
उत्तर: यदि हम परीक्षण का उपयोग करके किसी भी टेस्ट को SKIP करना चाहते हैं, तो हमें TestNG में SKIP अपवाद का उपयोग करना होगा।
यह इस प्रकार लिखा जाता है:
public void skipExc() { System.out.println('SKIP me'); throw new skipException(“Skipping skipExc”); } }
हम आपके साक्षात्कार के लिए शुभकामनाएं देते हैं !!
अनुशंसित पाठ
- साक्षात्कार प्रश्न और उत्तर
- उत्तर के साथ स्पॉक साक्षात्कार प्रश्न (सर्वाधिक लोकप्रिय)
- शीर्ष 20+ .NET साक्षात्कार प्रश्न और उत्तर
- ईटीएल परीक्षण साक्षात्कार प्रश्न और उत्तर
- शीर्ष 20 सबसे महत्वपूर्ण एपीआई परीक्षण साक्षात्कार प्रश्न और उत्तर
- शीर्ष 30+ लोकप्रिय ककड़ी साक्षात्कार प्रश्न और उत्तर
- शीर्ष 50 सबसे लोकप्रिय CCNA साक्षात्कार प्रश्न और उत्तर
- टॉप 40 पॉपुलर J2EE के इंटरव्यू सवाल और जवाब जो आपको पढ़ने चाहिए