guide generate extent reports selenium webdriver
सेलेनियम वेबड्राइवर में अत्यधिक रिपोर्ट कैसे उत्पन्न करें:
सेलेनियम JUnit और TestNG जैसे चौखटे का उपयोग करके इनबिल्ट रिपोर्ट प्रदान करता है।
हालाँकि अंतर्निहित रिपोर्ट परीक्षण केस के हिस्से के रूप में निष्पादित किए जाने वाले चरणों की जानकारी प्रदान करते हैं, उन्हें सभी प्रमुख परियोजना हितधारकों के साथ साझा किए जाने के लिए अधिक अनुकूलन की आवश्यकता होती है।
एक्सटेंडेंट रिपोर्ट्स अंशु अरोड़ा द्वारा विकसित एक अनुकूलन योग्य HTML रिपोर्ट है जिसे जेयूनिट और टेस्टएनजी फ्रेमवर्क का उपयोग करके सेलेनियम वेबड्राइवर में एकीकृत किया जा सकता है।
यह ट्यूटोरियल आपको उदाहरण के कोड के साथ सेलेनियम वेबड्राइव में एक्स्टेंट रिपोर्ट उत्पन्न करने के बारे में एक संपूर्ण चरण-दर-चरण मार्गदर्शिका देगा।
नीचे TestNG ढांचे द्वारा प्रदान की गई रिपोर्ट का स्नैपशॉट है:
एक्सटेंट रिपोर्ट्स, JUnit और TestNG के माध्यम से उत्पन्न होने वाली रिपोर्टों की तुलना में कई लाभ प्रदान करती हैं जैसे पाई चार्ट प्रतिनिधित्व, टेस्ट स्टेपवाइज रिपोर्ट जेनरेशन, स्क्रीनशॉट आदि जोड़ना, प्रत्येक परीक्षण कदम पर और एक प्रेजेंटेबल यूजर इंटरफेस जिसे साझा किया जा सकता है। परियोजना के सभी हितधारक।
नीचे पाई चार्ट प्रतिनिधित्व में एक नमूना विस्तार रिपोर्ट का स्नैपशॉट है
()ध्यान दें:बढ़े हुए दृश्य के लिए किसी भी छवि पर क्लिक करें)
आप क्या सीखेंगे:
- एक्सटेंडेंट रिपोर्ट्स का उपयोग करने के फायदे
- सेलेनियम वेबड्राइवर में अत्यधिक रिपोर्ट का उपयोग करना
- अतिरिक्त रिपोर्ट के लिए नमूना कोड
- टेस्ट सारांश रिपोर्ट
- पाई चार्ट ग्राफिकल रिपोर्ट
- विस्तार रिपोर्ट में स्क्रीनशॉट कैप्चर करें
- निष्कर्ष
- अनुशंसित पाठ
एक्सटेंडेंट रिपोर्ट्स का उपयोग करने के फायदे
एक्सटेंस रिपोर्ट्स के कई फायदे हैं और उनमें से कुछ पर नीचे चर्चा की गई है।
- अनुकूलन योग्य HTML रिपोर्ट स्टेप वाइज और पाई चार्ट प्रतिनिधित्व के साथ।
- रिपोर्ट के भीतर परीक्षण मामले के निष्पादन के लिए लिया गया समय प्रदर्शित करता है।
- प्रत्येक परीक्षण चरण को स्क्रीनशॉट के साथ जोड़ा जा सकता है।
- सिंगल सूट के भीतर चलने वाले मल्टीपल टेस्ट केस को आसानी से ट्रैक किया जा सकता है।
- आसानी से TestNG और JUnit फ्रेमवर्क के साथ एकीकृत किया जा सकता है।
सेलेनियम वेबड्राइवर में अत्यधिक रिपोर्ट का उपयोग करना
एक्सटेंडेड रिपोर्ट्स में दो प्रमुख वर्ग होते हैं जो अक्सर उपयोग किए जाते हैं।
- ExtentReports वर्ग
- एक्सटेन्स्ट क्लास
वाक्य - विन्यास:
ExtentReports की रिपोर्ट = नई ExtentReports ('परिणामी HTML फ़ाइल को संग्रहीत करने के लिए निर्देशिका का पथ', सही / गलत);
विंडोज़ में .apk फ़ाइल कैसे खोलें
एक्स्टेंटेस्ट टेस्ट = रिपोर्ट.स्टार्टटेस्ट ('टेस्टनेम');
उपयोगकर्ता द्वारा निर्दिष्ट पथ पर HTML रिपोर्ट बनाने के लिए एक्सटेंडेड रिपोर्ट्स क्लास का उपयोग किया जाता है। बूलियन ध्वज इंगित करता है कि मौजूदा रिपोर्ट को अधिलेखित करने की आवश्यकता है या एक नई रिपोर्ट बनाने की आवश्यकता है। मान 'सत्य' डिफ़ॉल्ट मान है, जिसका अर्थ है कि सभी मौजूदा डेटा को अधिलेखित कर दिया जाएगा।
एक्स्टेंट टेस्ट क्लास का उपयोग उत्पन्न HTML रिपोर्ट पर परीक्षण चरणों को लॉग करने के लिए किया जाता है।
उपरोक्त वर्गों का उपयोग अक्सर नीचे बताए गए तरीकों से किया जाता है।
- शुरुआत
- एंडटेस्ट
- लॉग
- लालिमा
टेस्टटेस्ट और एंडटेस्ट तरीकों का इस्तेमाल टेस्ट केस की पूर्व शर्त और पोस्ट-कंडीशन को निष्पादित करने के लिए किया जाता है, जबकि परिणामी HTML रिपोर्ट में प्रत्येक टेस्ट स्टेप की स्थिति लॉग करने के लिए लॉग विधि का उपयोग किया जाता है। रिपोर्ट पर किसी भी पिछले डेटा को मिटाने और एक नई रिपोर्ट बनाने के लिए फ्लश विधि का उपयोग किया जाता है।
परीक्षण स्थिति निम्न में से कोई भी हो सकती है:
- उत्तीर्ण करना
- असफल
- छोड़ें
- जानकारी
वाक्य - विन्यास:
रिपोर्ट्स .endest ();
test.log (LogStatus.PASS, 'टेस्ट पास');
test.log (LogStatus.FAIL, 'टेस्ट विफल');
test.log (LogStatus.SKIP, 'टेस्ट स्किप्ड');
test.log (LogStatus.INFO, 'टेस्ट इन्फो');
लॉग विधि दो मापदंडों में ले जाती है, पहला पैरामीटर परीक्षण की स्थिति है और दूसरा पैरामीटर परिणामी रिपोर्ट पर मुद्रित होने वाला संदेश है।
अतिरिक्त रिपोर्ट के लिए नमूना कोड
नीचे उल्लेख किया गया है कि जूनिन में सेलेनियम वेबड्राइवर में एक्स्टेंट रिपोर्ट्स का उपयोग करने के लिए चरणों का क्रम है।
चरण 1:
विस्तृत रिपोर्ट का उपयोग सेलेनियम वेबड्राइवर में सीधे JAR फ़ाइल को आयात करके किया जा सकता है - हदबंदी-जावा-2.41.2.jar जो हो सकता है यहाँ डाउनलोड किया ।
ज़िप फ़ाइल डाउनलोड होने के बाद, ज़िप फ़ाइल की सामग्री को एक फ़ोल्डर में निकालें।
चरण 2:
विकल्प का उपयोग करके प्रोजेक्ट बिल्ड पथ पर ज़िप फ़ाइल में मौजूद जार फ़ाइलों को जोड़ें बिल्ड पथ -> बिल्ड पथ कॉन्फ़िगर करें।
चरण 3:
एक्सटेंस रिपोर्ट्स के लिए नीचे दिए गए कोड के साथ एक नया जावा क्लास बनाएं।
package com.objectrepository.demo; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import com.relevantcodes.extentreports.ExtentReports; import com.relevantcodes.extentreports.ExtentTest; import com.relevantcodes.extentreports.LogStatus; public class ExtentDemo { static ExtentTest test; static ExtentReports report; @BeforeClass public static void startTest() { report = new ExtentReports(System.getProperty('user.dir')+'\ExtentReportResults.html'); test = report.startTest('ExtentDemo'); } @Test public void extentReportsDemo() { System.setProperty('webdriver.chrome.driver', 'D:\SubmittalExchange_TFS\QA\Automationrdparty\chrome\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.get('https://www.google.co.in'); if(driver.getTitle().equals('Google')) { test.log(LogStatus.PASS, 'Navigated to the specified URL'); } else { test.log(LogStatus.FAIL, 'Test Failed'); } } @AfterClass public static void endTest() { report.endTest(test); report.flush(); } }
कोड स्पष्टीकरण
@कक्षा से पहले:
5 वर्षों के अनुभवी अनुभव के लिए एसक्यूएल सर्वर साक्षात्कार प्रश्न और उत्तर
उपरोक्त कोड एक्स्टेंट रिपोर्ट के उपयोग को दर्शाता है। टेस्ट केस का निष्पादन स्टार्टटेस्ट विधि से शुरू होता है, जिसमें एक्सटेंस रिपोर्ट्स ऑब्जेक्ट का आरंभीकरण शामिल है। एक्स्टेंट रिपोर्ट ऑब्जेक्ट पर पारित पैरामीटर किसी भी मान्य उपयोगकर्ता परिभाषित पथ हो सकता है।
सादगी के लिए, उदाहरण परिणामी HTML रिपोर्ट उत्पन्न करने के लिए वर्तमान परियोजना निर्देशिका का उपयोग करता है। अगले कथन में प्रारंभ विधि के वापसी मूल्य के साथ एक्सटेन्स्टेस्ट ऑब्जेक्ट का आरंभीकरण शामिल है।
@परीक्षा:
टेस्ट क्लास में निम्नलिखित चरण शामिल हैं:
- इस url https://www.google.com के साथ क्रोम ब्राउज़र खोलें
- पृष्ठ खुलने के बाद पृष्ठ के शीर्षक को अपेक्षित मान से सत्यापित करें।
- विस्तृत रिपोर्ट के लॉग विधि का उपयोग करके PASS / FAIL के रूप में परीक्षण मामले की स्थिति दर्ज करें।
@क्लास के बाद:
क्लास के बाद टेस्ट केस की पोस्टकंडिशन निष्पादित करने के लिए कोड शामिल होता है जैसे कि एंडटेस्ट मेथड का उपयोग करके टेस्ट को समाप्त करना और रिपोर्ट को फ्लश करना। कृपया ध्यान दें कि यदि फ्लश () विधि का उपयोग नहीं किया गया है तो रिपोर्ट उत्पन्न नहीं होगी।
टी सारांश रिपोर्ट है
पाई चार्ट ग्राफिकल रिपोर्ट
विस्तार रिपोर्ट में स्क्रीनशॉट कैप्चर करें
परीक्षण निष्पादन के साथ स्क्रीन कैप्चर टेस्ट परीक्षक को टेस्ट स्क्रिप्ट डीबग करने में एक परीक्षक की मदद करेगा यदि परीक्षण निष्पादन के दौरान कोई भी समस्या सामने आई हो। हालांकि, यह सलाह दी जाती है स्क्रीनशॉट कैप्चर करें केवल तभी जब कोई परीक्षण चरण विफल हो जाता है क्योंकि छवियाँ प्रत्येक परीक्षण चरण पर कैप्चर करने पर अधिक मेमोरी का उपभोग करेंगी।
नीचे दिए गए कोड का उपयोग करके प्रत्येक विफल चरण के लिए स्क्रीनशॉट को कैप्चर किया जा सकता है।
test.log(LogStatus.FAIL,test.addScreenCapture(capture(driver))+ 'Test Failed'); public static String capture(WebDriver driver) throws IOException { File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); File Dest = new File('src/../ErrImages/' + System.currentTimeMillis() + '.png'); String errflpath = Dest.getAbsolutePath(); FileUtils.copyFile(scrFile, Dest); return errflpath; }
कोड स्पष्टीकरण
एक नई सूचना प्रणाली का परीक्षण सिस्टम द्वारा किया जाना चाहिए
कब्जा विधि:
# 1) getScreenShotAs () विधि का उपयोग वर्तमान वेबड्राइवर उदाहरण के स्क्रीनशॉट को पकड़ने और विभिन्न आउटपुट रूपों में संग्रहीत करने के लिए किया जाता है।
फ़ाइल scrFile = ((TakesScreenshot) ड्राइवर) .getScreenshotAs (OutputType.File);
#दो) getScreenShotAs विधि एक फ़ाइल ऑब्जेक्ट लौटाती है जिसे फ़ाइल चर पर संग्रहीत करने की आवश्यकता होती है। कृपया ध्यान दें कि यदि आप विधि का उपयोग करना चाहते हैं तो वेब ड्राइवर का उदाहरण स्क्रीनशॉट लेना अनिवार्य है।
# 3) फ़ाइल गंतव्य = नई फ़ाइल ('src /../ ErrImages /' + System.currentTimeMillis () + '.png');
# 4) उपरोक्त कथन folder srrc ’फ़ोल्डर के भीतर I ErrImages’ नामक एक फ़ोल्डर बनाता है और फ़ाइल नाम को वर्तमान सिस्टम समय के रूप में संग्रहीत करता है।
# 5) स्ट्रिंग इरफ़्लैपथ = Dest.getAbsolutePath ();
FileUtils.copyFile (scrFile, डेस्ट);
वापसीशीर्ष;
# 6) उपरोक्त कथन गंतव्य फ़ोल्डर में त्रुटि छवियों को कॉपी करते हैं।
लॉग विधि:
लॉग मेथड में बिल्ट-इन मेथड का उपयोग किया जाता है, स्क्रीनशॉट लाने के लिए एक्सटेंस टेस्ट क्लास का ऐडस्क्रीनसैप्ट्योर और इसे एक्सटेंडेड रिपोर्ट में जोड़ा जाता है।
test.log (LogStatus.FAIL, test.addScreenCapture (कैप्चर (ड्राइवर)) + 'परीक्षण विफल');
लॉग विधि पर रिकॉर्ड किए गए संदेश में डीबगिंग उद्देश्य के लिए अपेक्षित और वास्तविक परिणाम सहित विस्तृत संदेश शामिल हो सकते हैं।
आउटपुट:
निष्कर्ष
सेलेनियम वेब ड्राइवर में एक मनभावन उपयोगकर्ता इंटरफ़ेस के साथ अनुकूलन HTML रिपोर्ट उत्पन्न करने के लिए एक्स्टेंट रिपोर्ट सबसे अच्छे तरीके से निर्मित हैं।
यह एक खुला स्रोत पुस्तकालय है जिसे आसानी से सेलेनियम के साथ कॉन्फ़िगर किया जा सकता है, जिससे यह स्वचालन परीक्षकों के लिए सबसे अच्छा विकल्प है।
आशा करते हैं कि अब आपको एक्सटेंस रिपोर्ट्स के बारे में स्पष्ट जानकारी मिल जाएगी।
अनुशंसित पाठ
- ककड़ी सेलेनियम ट्यूटोरियल: ककड़ी जावा सेलेनियम वेबड्राइवर एकीकरण
- सेलेनियम वेबड्राइवर का परिचय - सेलेनियम ट्यूटोरियल # 8
- हमारी पहली वेबड्राइवर स्क्रिप्ट का कार्यान्वयन - सेलेनियम वेबड्राइवर ट्यूटोरियल # 10
- सेलेनियम पूछे जाने वाले प्रश्न
- सेलेनियम वेबड्राइवर में अलर्ट / पॉपअप कैसे हैंडल करें - सेलेनियम ट्यूटोरियल # 16
- सेलेनियम वेबड्राइवर में निहित और स्पष्ट प्रतीक्षा (सेलेनियम के प्रकार के प्रकार)
- अलग लोकप्रिय ब्राउज़रों में सेलेनियम वेबड्राइवर कैसे चलाएं
- वेबड्राइवर संपूर्ण सेटअप और स्थापना ग्रहण के साथ - सेलेनियम ट्यूटोरियल # 9