Тестване на различни браузъри с помощта на Selenium WebDriver

Съдържание:

Anonim

Какво е тестване на кръстосани браузъри?

Кръстосаното тестване на браузъра е вид функционален тест за проверка дали вашето уеб приложение работи както се очаква в различните браузъри.

Защо се нуждаем от тестване на кръстосани браузъри?

Уеб-базираните приложения са напълно различни от приложенията на Windows. Уеб приложение може да се отвори във всеки браузър от крайния потребител. Например, някои хора предпочитат да отворят https://twitter.com в браузъра Firefox, докато други могат да използват браузър Chrome или IE .

На диаграмата по-долу можете да забележите, че в IE полето за вход на Twitter не показва крива на всички ъгли, но ние можем да го видим в браузъра Chrome.

Затова трябва да гарантираме, че уеб приложението ще работи както се очаква във всички популярни браузъри, така че повече хора да имат достъп до него и да го използват.

Този мотив може да бъде изпълнен с тестване на продукта в различни браузъри.

Причина Проблеми с различни браузъри

  1. Несъответствие на размера на шрифта в различни браузъри.
  2. Внедряването на JavaScript може да бъде различно.
  3. Може да има CSS, HTML валидация разлика.
  4. Някои браузъри все още не поддържат HTML5.
  5. Подравняване на страницата и размер на div.
  6. Ориентация на изображението.
  7. Несъвместимост на браузъра с OS. И т.н.

Как да извършите тестване на кръстосани браузъри

Ако използваме Selenium WebDriver, можем да автоматизираме тестови случаи, като използваме браузърите Internet Explorer, FireFox, Chrome, Safari.

За да изпълняваме тестови случаи с различни браузъри в една и съща машина едновременно, можем да интегрираме Testng framework с Selenium WebDriver.

Вашият testing.xml ще изглежда така,

Този test.xml ще се свърже с тестовия случай, който ще изглежда така

Тук, тъй като testing.xml има два тестови маркера ('ChromeTest', 'FirefoxTest'), този тестов случай ще се изпълни два пъти за 2 различни браузъра.

Първият тест „ChromeTest“ ще предаде стойността на параметъра „браузър“ като „хром“, така че ChromeDriver ще бъде изпълнен. Този тестов случай ще работи в браузъра Chrome.

Вторият тест „FirefoxTest“ ще предаде стойността на параметър „браузър“ като „Firefox“, така че FirefoxDriver ще бъде изпълнен. Този тестов случай ще работи в браузъра FireFox.

Пълен код:

Guru99CrossBrowserScript.java

пакет паралелен тест;импортиране на 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* @param браузър* @throws Изключение* /@BeforeTest@Parameters ("браузър")настройка на публична невалидност (браузър на низове) хвърля изключение {// Проверяваме дали параметърът, предаден от TestNG, е 'firefox'if (browser.equalsIgnoreCase ("firefox")) {// създаване на екземпляр на firefoxSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");драйвер = нов FirefoxDriver ();}// Проверяваме дали параметърът е предаден като 'хром'иначе ако (browser.equalsIgnoreCase ("chrome")) {// задаване на път към chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// създаване на екземпляр на chromeдрайвер = нов ChromeDriver ();}// Проверяваме дали параметърът е предаден като 'Edge'иначе ако (browser.equalsIgnoreCase ("Edge")) {// задаване на път към Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// създаване на екземпляр на Edgeдрайвер = нов EdgeDriver ();}друго {// Ако нито един браузър не е предал изключениехвърли ново изключение („Браузърът не е правилен“);}driver.manage (). timeouts (). implicitlyWait (10, TimeUnit.SECONDS);}@Тестpublic void testParameterWithXML () хвърля InterruptedException {driver.get ("http://demo.guru99.com/V4/");// Намерете потребителско имеWebElement userName = driver.findElement (By.name ("uid"));// Попълнете потребителско имеuserName.sendKeys ("guru99");// Намерете паролаПарола за WebElement = driver.findElement (By.name ("парола"));// Попълнете паролаpassword.sendKeys ("guru99");}}

testing.xml

<параметър име = "браузър" стойност = "Chrome" /><класове><параметър име = "браузър" стойност = "Firefox" /><класове><параметър име = "браузър" стойност = "ръб" /><класове>

ЗАБЕЛЕЖКА: За да стартирате теста, щракнете с десния бутон върху testing.xml, изберете Run As и щракнете върху TestNG

Обобщение

  1. Крос браузърното тестване е техника за тестване на уеб приложение с различни уеб браузъри.
  2. Селенът може да поддържа различен тип браузъри за автоматизация.
  3. Селенът може да бъде интегриран с TestNG за извършване на тестване на множество браузъри.
  4. От параметрите в testing.xml можем да предадем името на браузъра, а в тестов случай можем да създадем референция за WebDriver съответно.

Забележка: Дадената програма е създадена и тествана на селен 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 и Microsoft Edge 14.14393. Ако програмите дават грешка, моля, актуализирайте драйвера

Изтеглете файловете за проект на Selenium за демонстрацията в този урок