क्रॉस ब्राउज़र परीक्षण क्या है?
क्रॉस ब्राउजर टेस्टिंग यह जांचने के लिए एक प्रकार का कार्यात्मक परीक्षण है कि आपका वेब एप्लिकेशन विभिन्न ब्राउज़रों में अपेक्षित रूप से काम करता है।
हमें क्रॉस ब्राउज़र परीक्षण की आवश्यकता क्यों है?
वेब-आधारित अनुप्रयोग विंडोज अनुप्रयोगों से पूरी तरह से अलग हैं। अंतिम उपयोगकर्ता द्वारा किसी भी ब्राउज़र में एक वेब एप्लिकेशन खोला जा सकता है। उदाहरण के लिए, कुछ लोग फ़ायरफ़ॉक्स ब्राउज़र में https://twitter.com खोलना पसंद करते हैं , जबकि अन्य क्रोम ब्राउज़र या IE का उपयोग कर सकते हैं ।
नीचे दिए गए आरेख में आप यह देख सकते हैं कि IE में , ट्विटर का लॉगिन बॉक्स सभी कोनों पर वक्र नहीं दिखा रहा है, लेकिन हम इसे क्रोम ब्राउज़र में देख सकते हैं।
इसलिए हमें यह सुनिश्चित करने की आवश्यकता है कि वेब एप्लिकेशन सभी लोकप्रिय ब्राउज़रों में अपेक्षित रूप से काम करेगा ताकि अधिक लोग इसे एक्सेस कर सकें और इसका उपयोग कर सकें।
यह मकसद उत्पाद के क्रॉस ब्राउजर परीक्षण से पूरा किया जा सकता है।
कारण क्रॉस ब्राउज़र समस्याएँ
- विभिन्न ब्राउज़रों में फ़ॉन्ट आकार बेमेल।
- जावास्क्रिप्ट कार्यान्वयन अलग हो सकता है।
- सीएसएस, HTML सत्यापन अंतर हो सकता है।
- कुछ ब्राउज़र अभी भी HTML5 का समर्थन नहीं कर रहे हैं।
- पृष्ठ संरेखण और div आकार।
- छवि अभिविन्यास।
- ब्राउज़र ओएस के साथ असंगति। आदि।
क्रॉस ब्राउजर टेस्टिंग कैसे करें
यदि हम सेलेनियम वेबड्राइवर का उपयोग कर रहे हैं, तो हम इंटरनेट एक्सप्लोरर, फ़ायरफ़ॉक्स, क्रोम, सफारी ब्राउज़र का उपयोग करके परीक्षण मामलों को स्वचालित कर सकते हैं।
एक ही मशीन में एक ही समय में विभिन्न ब्राउज़रों के साथ परीक्षण मामलों को निष्पादित करने के लिए हम सेलेनियम वेबड्राइवर के साथ टेस्टिंग फ्रेमवर्क को एकीकृत कर सकते हैं।
आपका परीक्षण। Xml जैसा दिखेगा,
यह परीक्षण .xml टेस्ट केस के साथ मैप करेगा जो इस तरह दिखेगा
यहाँ क्योंकि परीक्षण। Xml में दो टेस्ट टैग ('क्रोमटेस्ट', 'फ़ायरफ़ॉक्सटेस्ट') हैं, यह परीक्षण केस 2 अलग-अलग ब्राउज़रों के लिए दो बार निष्पादित होगा।
पहला टेस्ट 'क्रोमटेस्ट' पैरामीटर 'ब्राउज़र' के मान को 'क्रोम' के रूप में पारित करेगा, इसलिए क्रोमड्राइवर निष्पादित किया जाएगा। यह परीक्षण मामला क्रोम ब्राउज़र पर चलेगा।
दूसरा परीक्षण 'फ़ायरफ़ॉक्सटेस्ट' 'फ़ायरफ़ॉक्स' के रूप में पैरामीटर 'ब्राउज़र' के मान को पार करेगा, इसलिए फ़ायरफ़ॉक्सड्राइवर निष्पादित किया जाएगा। यह परीक्षण मामला फ़ायरफ़ॉक्स ब्राउज़र पर चलेगा।
पूरा कोड:
गुरु99 क्रोसब्रोस्क्रिप्ट्स.जावा
पैकेज समांतरतम;आयात java.util.concurrent.TimeUnit;आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.WebElement;आयात org.openqa.selenium.chrome.ChromeDriver;आयात org.openqa.selenium.edge.EdgeDriver;आयात org.openqa.selenium.firefox.FirefoxDriver;आयात org.testng.annotations.BeforeTest;आयात org.testng.annotations.Parameters;आयात org.testng.annotations.Test;सार्वजनिक वर्ग CrossBrowserScript {WebDriver ड्राइवर;/ *** यह फ़ंक्शन testng.xml में प्रत्येक टेस्ट टैग से पहले निष्पादित होगा* @ अपरम ब्राउज़र* @ भ्रांतियाँ* /@ सबसे पहले@ पैरामीटर ("ब्राउज़र")सार्वजनिक शून्य सेटअप (स्ट्रिंग ब्राउज़र) अपवाद को फेंकता है {// जांच करें कि क्या TestNG से पारित पैरामीटर 'फ़ायरफ़ॉक्स' हैअगर (browser.equalsIgnoreCase ("फ़ायरफ़ॉक्स")) {// फ़ायरफ़ॉक्स उदाहरण बनाएँSystem.setProperty ("webdriver.gecko.driver", "। \\ geckodriver.exe;");ड्राइवर = नया फ़ायरफ़ॉक्सड्राइवर ();}// जांचें कि क्या पैरामीटर 'क्रोम' के रूप में पारित हुआ हैऔर अगर (browser.equalsIgnoreCase ("chrome")) {// सेट करने के लिए रास्ता chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", "। \\ chromedriver.exe");// क्रोम उदाहरण बनाएँड्राइवर = नया क्रोमड्राइवर ();}// जांचें कि क्या पैरामीटर 'एज' के रूप में पारित हुआ हैऔर अगर (browser.equalsIgnoreCase ("एज")) {// Edge.exe के लिए पथ सेटSystem.setProperty ("webdriver.edge.driver", "। \\ MicrosoftWebDriver.exe");// एज का उदाहरण बनाएंड्राइवर = नया एजड्राइवर ();}अन्य{// यदि कोई ब्राउजर थ्रो अपवाद नहीं हैनया अपवाद फेंकें ("ब्राउज़र सही नहीं है");}ड्राइवर।}@परीक्षासार्वजनिक शून्य परीक्षणपैरमीटरविथएक्सएमएल () इंटरप्टेड एक्ससेप्शन फेंकता है {Driver.get ("http://demo.guru99.com/V4/");// उपयोगकर्ता नाम खोजेंWebElement userName = driver.findElement (By.name ("uid"));// यूजर नेम भरेंuserName.sendKeys ("गुरु 99");//पासवर्ड पता करोWebElement पासवर्ड = driver.findElement (By.name ("पासवर्ड"));// पासवर्ड भरेंpassword.sendKeys ("गुरु99");}}
परीक्षण .xml
xml संस्करण = "1.0" एन्कोडिंग = "UTF-8"?><सुइट नाम = "टेस्टसुइट" थ्रेड-काउंट = "2" समानांतर = "परीक्षण"><परीक्षण नाम = "क्रोमटेस्ट"><पैरामीटर का नाम = "ब्राउज़र" मान = "क्रोम" /><कक्षाएं><वर्ग का नाम = "parallelTest.CrossBrowserScript"> वर्ग> कक्षाएं> परीक्षण><परीक्षण नाम = "FirefoxTest"><पैरामीटर का नाम = "ब्राउज़र" मान = "फ़ायरफ़ॉक्स" /><कक्षाएं><वर्ग का नाम = "parallelTest.CrossBrowserScript"> वर्ग> कक्षाएं> परीक्षण><परीक्षण नाम = "एजटेस्ट"><पैरामीटर का नाम = "ब्राउज़र" मान = "एज" /><कक्षाएं><वर्ग का नाम = "parallelTest.CrossBrowserScript"> वर्ग> कक्षाएं> परीक्षण> सूट>
नोट: परीक्षण को चलाने के लिए, परीक्षण पर राइट क्लिक करें। Xml, रन असोस का चयन करें, और TestNG पर क्लिक करें
सारांश
- क्रॉस ब्राउज़र टेस्टिंग विभिन्न वेब ब्राउज़रों के साथ वेब एप्लिकेशन का परीक्षण करने की एक तकनीक है।
- सेलेनियम स्वचालन के लिए विभिन्न प्रकार के ब्राउज़रों का समर्थन कर सकता है।
- मल्टी ब्राउजर टेस्टिंग करने के लिए सेलेनियम को TestNG के साथ एकीकृत किया जा सकता है।
- परीक्षण। Xml में मापदंडों से हम ब्राउज़र का नाम पास कर सकते हैं, और एक परीक्षण मामले में, हम तदनुसार WebDriver संदर्भ बना सकते हैं।
नोट: दिए गए कार्यक्रम का निर्माण और परीक्षण सेलेनियम 3.0.1, क्रोम 56.0.2924.87, फ़ायरफ़ॉक्स 47.0.2 और Microsoft एज 14.14393 पर किया गया था। यदि प्रोग्राम कोई त्रुटि देते हैं, तो कृपया ड्राइवर को अपडेट करें
इस ट्यूटोरियल में सेलेनियम प्रोजेक्ट फाइल्स को डेमो के लिए डाउनलोड करें