Brauseriülene testimine, kasutades Selenium Veebidraiver

Brauseriülene testimine, kasutades Selenium

Ristbrauseri testimine on teatud tüüpi funktsionaalne test, et kontrollida, kas teie veebirakendus töötab erinevates brauserites ootuspäraselt.

Brauseriülene testimine Selenium

Miks me vajame brauseritevahelist testimist?

Veebipõhised rakendused on täiesti erinevad Windows rakendusi. Lõppkasutaja saab veebirakenduse avada mis tahes brauseris. Näiteks eelistavad mõned inimesed avada https://twitter.com in Firefox brauser, samal ajal kui teised saavad seda kasutada Chrome brauser or IE.

Alloleval diagrammil saate seda jälgida IE, Twitteri sisselogimiskast ei näita kõverat kõigis nurkades, kuid näeme seda Chrome'i brauseris.

Ristbrauseri testimine

Seega peame tagama, et veebirakendus töötaks ootuspäraselt kõigis populaarsetes brauserites, et rohkem inimesi saaks sellele juurde pääseda ja seda kasutada.

Seda motiivi saab täita Cross Browseriga Testimine toote.

Põhjus brauseriülesed probleemid

  1. Erinevates brauserites ei sobi fondi suurus.
  2. JavaSkripti rakendamine võib olla erinev.
  3. CSS-i, HTML-i valideerimise erinevus võib olla.
  4. Mõni brauser ei toeta ikka veel HTML5.
  5. Lehekülje joondus ja osa suurus.
  6. Pildi orientatsioon.
  7. Brauseri kokkusobimatus OS-iga. jne.

Kuidas teha brauseritevahelist testimist

Kui me kasutame Selenium WebDriver, saame testjuhtumeid automatiseerida Internet Exploreri, Fire'i abilFox, Chrome, Safari brauserid.

Testjuhtumite teostamiseks samas masinas erinevate brauseritega samal ajal saame integreerida TestNG raamistik koos Selenium Veebidraiver.

Teie testing.xml näeb välja selline,

Ristbrauseri testimine

See testing.xml kaardistab failiga Testjuhtum mis näeb välja selline

Ristbrauseri testimine

Siin sellepärast, et testing.xml-l on kaks testmärgendit ('ChromeTest','FirefoxTest'), seda testjuhtumit käivitatakse kahe erineva brauseri jaoks kaks korda.

Esimene test "ChromeTest" edastab parameetri "brauser" väärtuse "chrome", nii et käivitatakse ChromeDriver. See testjuhtum töötab Chrome'i brauseris.

Teine test"FirefoxTest" edastab parameetri "brauser" väärtuse kui "Firefox' nii FirefoxJuht hukatakse. See testjuhtum töötab rakenduses FireFox brauser.

Guru99CrossBrowserScript.java

Täielik kood:

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

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

MÄRKUS: Testi käivitamiseks paremklõpsake ikooni testing.xml, Valige Käivita ja klõpsake nuppu TestNG

Ristbrauseri testimine

kokkuvõte

  1. Brauseriülene testimine on tehnika veebirakenduste testimiseks erinevate veebibrauseritega.
  2. Selenium saab toetada erinevat tüüpi brauseriteülene testimistööriist automatiseerimiseks.
  3. Selenium saab integreerida TestNG mitme brauseri testimiseks.
  4. Testing.xml-s olevatest parameetritest saame edastada brauseri nime ja testjuhul saame vastavalt luua WebDriveri viite.

Märge: Antud programm on ehitatud ja testitud seleeni 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 ja Microsoft Edge 14.14393. Kui programmid annavad vea, värskendage draiverit

Lae alla Selenium Selle õpetuse demo projektifailid