Selaimien välinen testaus käyttäen Selenium web-ajuri

Selaimien välinen testaus käyttäen Selenium

Ristiselaimen testaus on eräänlainen toimintatesti, jolla tarkistetaan, että verkkosovelluksesi toimii odotetulla tavalla eri selaimissa.

Selainten välinen testaus Selenium

Miksi tarvitsemme ristiinselaimen testausta?

Web-pohjaiset sovellukset ovat täysin erilaisia Windows sovellukset. Loppukäyttäjä voi avata verkkosovelluksen millä tahansa selaimella. Jotkut ihmiset esimerkiksi haluavat avata https://twitter.com in Firefox selain, kun muut voivat käyttää Chrome-selain or IE.

Alla olevasta kaaviosta voit havaita sen IE, Twitterin kirjautumisruutu ei näy käyrän kaikissa kulmissa, mutta voimme nähdä sen Chrome-selaimessa.

Ristiselaimen testaus

Meidän on siis varmistettava, että verkkosovellus toimii odotetusti kaikissa suosituissa selaimissa, jotta useammat ihmiset voivat käyttää sitä ja käyttää sitä.

Tämä motiivi voidaan toteuttaa Cross Browserilla Testaus Tuotteen.

Syynä selainongelmat

  1. Fonttikoko ei täsmää eri selaimissa.
  2. JavaSkriptin toteutus voi olla erilainen.
  3. CSS- ja HTML-tarkistusero voi olla olemassa.
  4. Jotkut selaimet eivät edelleenkään tue HTML5:tä.
  5. Sivun tasaus ja jaon koko.
  6. Kuvan suunta.
  7. Selaimen yhteensopimattomuus käyttöjärjestelmän kanssa. Jne.

Kuinka tehdä ristiinselaimen testaus

Jos käytämme Selenium WebDriver, voimme automatisoida testitapaukset Internet Explorerilla, FirelläFox, Chrome, Safari-selaimet.

Voimme integroida testitapauksia samaan koneeseen eri selaimilla samanaikaisesti TestNG puitteet Selenium WebDriver.

Testing.xml-tiedostosi näyttää tältä,

Ristiselaimen testaus

Tämä testing.xml yhdistää Testitapaus joka tulee näyttämään siltä

Ristiselaimen testaus

Tämä johtuu siitä, että testing.xml:ssä on kaksi testitunnistetta ('ChromeTest','FirefoxTest'), tämä testitapaus suoritetaan kaksi kertaa kahdelle eri selaimelle.

Ensimmäinen testi "ChromeTest" välittää parametrin "browser" arvon muodossa "chrome", joten ChromeDriver suoritetaan. Tämä testitapaus suoritetaan Chrome-selaimella.

Toinen testiFirefoxTesti" välittää parametrin "selain" arvon muodossa "Firefox'niin FirefoxKuljettaja teloitetaan. Tämä testitapaus toimii FiressäFox selain.

Guru99CrossBrowserScript.java

Täydellinen koodi:

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");
	}
}

testing.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>

HUOMAUTUS: Suorita testi napsauttamalla hiiren kakkospainikkeella testing.xml, Valitse Suorita nimellä ja napsauta TestNG

Ristiselaimen testaus

Yhteenveto

  1. Selaintestaus on tekniikka verkkosovellusten testaamiseen eri selaimilla.
  2. Selenium voi tukea erilaisia cross-browser testaus työkalu automaatiota varten.
  3. Selenium voidaan integroida TestNG suorittaaksesi usean selaimen testauksen.
  4. Testing.xml:n parametreista voimme välittää selaimen nimen, ja testitapauksessa voimme luoda WebDriver-viittauksen vastaavasti.

Huomautus: Annettu ohjelma on rakennettu ja testattu seleenillä 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 & Microsoft Edge 14.14393. Jos ohjelmat antavat virheen, päivitä ajuri

Lataa Selenium Projektitiedostot esittelyä varten tässä opetusohjelmassa