Что такое кроссбраузерное тестирование?
Кроссбраузерное тестирование - это тип функционального теста, чтобы проверить, что ваше веб-приложение работает должным образом в разных браузерах.
Зачем нам нужно кроссбраузерное тестирование?
Веб-приложения полностью отличаются от приложений Windows. Конечный пользователь может открыть веб-приложение в любом браузере. Например, некоторые люди предпочитают открывать https://twitter.com в браузере Firefox, в то время как другие могут использовать браузер Chrome или IE .
На диаграмме ниже вы можете заметить, что в IE поле входа в Twitter не показывает кривую во всех углах, но мы можем видеть это в браузере Chrome.
Поэтому нам нужно убедиться, что веб-приложение будет работать должным образом во всех популярных браузерах, чтобы больше людей могли получить к нему доступ и использовать его.
Этот мотив может быть реализован с помощью кроссбраузерного тестирования продукта.
Причина кроссбраузерных проблем
- Несоответствие размера шрифта в разных браузерах.
- Реализация JavaScript может быть разной.
- Может быть разница в проверке CSS, HTML.
- Некоторые браузеры все еще не поддерживают HTML5.
- Выравнивание страницы и размер div.
- Ориентация изображения.
- Несовместимость браузера с ОС. И Т. Д.
Как проводить кроссбраузерное тестирование
Если мы используем Selenium WebDriver, мы можем автоматизировать тестовые случаи с помощью браузеров Internet Explorer, FireFox, Chrome, Safari.
Для одновременного выполнения тестовых случаев с разными браузерами на одном компьютере мы можем интегрировать среду Testng с Selenium WebDriver.
Ваш test.xml будет выглядеть так:
Этот файл testing.xml будет сопоставлен с тестовым набором, который будет выглядеть следующим образом
Здесь, поскольку в файле testing.xml есть два тега Test (ChromeTest, FirefoxTest), этот тестовый пример будет выполняться два раза для двух разных браузеров.
Первый тест «ChromeTest» передаст значение параметра «браузер» как «хром», поэтому ChromeDriver будет запущен. Этот тестовый пример будет запущен в браузере Chrome.
Второй тест «FirefoxTest» передаст значение параметра «браузер» как «Firefox», поэтому FirefoxDriver будет запущен. Этот тестовый пример будет запущен в браузере FireFox.
Полный код:
Guru99CrossBrowserScript.java
пакет 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;/ *** Эта функция будет выполняться перед каждым тегом Test в testng.xml* @param браузер* @throws Exception* /@BeforeTest@Parameters ("браузер")общедоступная установка void (строковый браузер) выдает исключение {// Проверяем, передан ли из TestNG параметр 'firefox'if (browser.equalsIgnoreCase ("firefox")) {// создаем экземпляр firefoxSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");драйвер = новый FirefoxDriver ();}// Проверяем, передан ли параметр как 'хром'else if (browser.equalsIgnoreCase ("хром")) {// устанавливаем путь к chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// создаем экземпляр хромадрайвер = новый ChromeDriver ();}// Проверяем, передан ли параметр как Edgeelse if (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");}}
test.xml
xml version = "1.0" encoding = "UTF-8"?><классы> <имя параметра = "browser" value = "Firefox" /><классы> <имя параметра = "browser" value = "Edge" /><классы>
ПРИМЕЧАНИЕ. Чтобы запустить тест, щелкните правой кнопкой мыши файл testing.xml, выберите «Запуск от имени» и нажмите «TestNG».
Резюме
- Кроссбраузерное тестирование - это метод тестирования веб-приложений с различными веб-браузерами.
- Selenium может поддерживать различные типы браузеров для автоматизации.
- Selenium может быть интегрирован с TestNG для выполнения тестирования в нескольких браузерах.
- Из параметров в файле testing.xml мы можем передать имя браузера, а в тестовом примере мы можем создать ссылку на WebDriver соответственно.
Примечание . Данная программа была создана и протестирована на Selenium 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 и Microsoft Edge 14.14393. Если программы выдают ошибку, обновите драйвер
Загрузите файлы проекта Selenium для демонстрации в этом руководстве