क्रॉस ब्राउज़र परीक्षण का उपयोग करना Selenium वेबड्राइवर

क्रॉस ब्राउज़र परीक्षण का उपयोग करना Selenium

क्रॉस ब्राउज़र परीक्षण यह एक प्रकार का कार्यात्मक परीक्षण है जो यह जांचता है कि आपका वेब अनुप्रयोग विभिन्न ब्राउज़रों में अपेक्षानुसार काम करता है या नहीं।

क्रॉस ब्राउज़र परीक्षण का उपयोग करना Selenium

हमें क्रॉस ब्राउज़र परीक्षण की आवश्यकता क्यों है?

वेब-आधारित अनुप्रयोग इससे बिल्कुल अलग हैं Windows अनुप्रयोग। वेब एप्लिकेशन को अंतिम उपयोगकर्ता द्वारा किसी भी ब्राउज़र में खोला जा सकता है। उदाहरण के लिए, कुछ लोग इसे खोलना पसंद करते हैं https://twitter.com in Firefox ब्राउज़र, जबकि अन्य लोग इसका उपयोग कर सकते हैं क्रोम ब्राउज़र or IE.

नीचे दिए गए चित्र में आप देख सकते हैं कि IEट्विटर का लॉगिन बॉक्स सभी कोनों पर घुमावदार नहीं दिख रहा है, लेकिन हम इसे क्रोम ब्राउज़र में देख पा रहे हैं।

क्रॉस ब्राउज़र परीक्षण

इसलिए हमें यह सुनिश्चित करने की आवश्यकता है कि वेब एप्लिकेशन सभी लोकप्रिय ब्राउज़रों में अपेक्षानुसार काम करेगा ताकि अधिक लोग उस तक पहुंच सकें और उसका उपयोग कर सकें।

यह उद्देश्य क्रॉस ब्राउज़र से पूरा किया जा सकता है परीक्षण उत्पाद की।

क्रॉस ब्राउज़र समस्याएँ कारण

  1. विभिन्न ब्राउज़रों में फ़ॉन्ट आकार का मेल न खाना।
  2. Javaस्क्रिप्ट का कार्यान्वयन अलग-अलग हो सकता है.
  3. सीएसएस, HTML सत्यापन में अंतर हो सकता है।
  4. कुछ ब्राउज़र अभी भी HTML5 का समर्थन नहीं कर रहे हैं।
  5. पृष्ठ संरेखण और div आकार.
  6. छवि अभिविन्यास.
  7. ओएस के साथ ब्राउज़र की असंगतता, आदि।

क्रॉस ब्राउज़र परीक्षण कैसे करें

अगर हम उपयोग कर रहे हैं Selenium वेबड्राइवर के साथ, हम इंटरनेट एक्सप्लोरर, फायर का उपयोग करके परीक्षण मामलों को स्वचालित कर सकते हैंFox, क्रोम, सफारी ब्राउज़र।

एक ही मशीन में एक ही समय में विभिन्न ब्राउज़रों के साथ परीक्षण मामलों को निष्पादित करने के लिए हम एकीकृत कर सकते हैं TestNG ढांचे के साथ Selenium वेबड्राइवर.

आपका testing.xml कुछ इस तरह दिखेगा,

क्रॉस ब्राउज़र परीक्षण

यह testing.xml मैप करेगा परीक्षण का मामला जो इस तरह दिखेगा

क्रॉस ब्राउज़र परीक्षण

यहाँ क्योंकि testing.xml में दो टेस्ट टैग हैं ('ChromeTest','FirefoxTest'), यह परीक्षण केस 2 अलग-अलग ब्राउज़रों के लिए दो बार निष्पादित होगा।

पहला परीक्षण 'ChromeTest' पैरामीटर 'browser' का मान 'chrome' के रूप में पास करेगा, इसलिए ChromeDriver निष्पादित होगा। यह परीक्षण केस Chrome ब्राउज़र पर चलेगा।

दूसरा टेस्ट 'Firefoxटेस्ट' पैरामीटर 'ब्राउज़र' का मान ' के रूप में पास करेगाFirefox' इसलिए Firefoxड्राइवर निष्पादित किया जाएगा। यह परीक्षण मामला फायर पर चलेगाFox ब्राउज़र.

Guru99CrossBrowserScript.java

पूरा कोड:

package parallelTest;

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class CrossBrowserScript {

	WebDriver driver;

	/**
	 * This function will execute before each Test tag in testng.xml
	 * @param browser
	 * @throws Exception
	 */
	@BeforeTest
	@Parameters("browser")
	public void setup(String browser) throws Exception{
		//Check if parameter passed from TestNG is 'firefox'
		if(browser.equalsIgnoreCase("firefox")){
		//create firefox instance
			System.setProperty("webdriver.gecko.driver", ".\\geckodriver.exe");
			driver = new FirefoxDriver();
		}
		//Check if parameter passed as 'chrome'
		else if(browser.equalsIgnoreCase("chrome")){
			//set path to chromedriver.exe
			System.setProperty("webdriver.chrome.driver",".\\chromedriver.exe");
			//create chrome instance
			driver = new ChromeDriver();
		}
		//Check if parameter passed as 'Edge'
				else if(browser.equalsIgnoreCase("Edge")){
					//set path to Edge.exe
					System.setProperty("webdriver.edge.driver",".\\MicrosoftWebDriver.exe");
					//create Edge instance
					driver = new EdgeDriver();
				}
		else{
			//If no browser passed throw exception
			throw new Exception("Browser is not correct");
		}
		driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
	}
	
	@Test
	public void testParameterWithXML() throws InterruptedException{
		driver.get("https://demo.guru99.com/V4/");
		//Find user name
		WebElement userName = driver.findElement(By.name("uid"));
		//Fill user name
		userName.sendKeys("guru99");
		//Find password
		WebElement password = driver.findElement(By.name("password"));
		//Fill password
		password.sendKeys("guru99");
	}
}

परीक्षण.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name="TestSuite" thread-count="2" parallel="tests" >

<test name="ChromeTest">

<parameter name="browser" value="Chrome" />

<classes>

<class name="parallelTest.CrossBrowserScript">

</class>

</classes>

</test>

<test name="FirefoxTest">

<parameter name="browser" value="Firefox" />

<classes>

<class name="parallelTest.CrossBrowserScript">

</class>

</classes>

</test>

<test name="EdgeTest">

<parameter name="browser" value="Edge" />

<classes>

<class name="parallelTest.CrossBrowserScript">

</class>

</classes>

</test>

</suite>

नोट: परीक्षण चलाने के लिए, राइट क्लिक करें परीक्षण.xml, Run As चुनें और क्लिक करें TestNG

क्रॉस ब्राउज़र परीक्षण

सारांश

  1. क्रॉस ब्राउज़र परीक्षण विभिन्न वेब ब्राउज़रों के साथ वेब एप्लिकेशन का परीक्षण करने की एक तकनीक है।
  2. Selenium विभिन्न प्रकार का समर्थन कर सकते हैं क्रॉस-ब्राउज़र परीक्षण उपकरण स्वचालन के लिए.
  3. Selenium के साथ एकीकृत किया जा सकता है TestNG बहु ब्राउज़र परीक्षण करने के लिए.
  4. testing.xml में पैरामीटर्स से हम ब्राउज़र का नाम पास कर सकते हैं, और परीक्षण मामले में, हम तदनुसार WebDriver संदर्भ बना सकते हैं।

नोट: दिया गया प्रोग्राम selenium 3.0.1, Chrome 56.0.2924.87 पर बनाया और परीक्षण किया गया था, Firefox 47.0.2 और Microsoft Edge 14.14393. यदि प्रोग्राम त्रुटि देता है, तो कृपया ड्राइवर को अपडेट करें

डाउनलोड Selenium इस ट्यूटोरियल में डेमो के लिए प्रोजेक्ट फ़ाइलें