КАК ВЫПОЛНЯТЬ ТЕСТЫ SELENIUM НА BROWERSTACK [МЕЖБРАУЗЕРНОЕ ТЕСТИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ SELENIUM]

Как запускать тесты Selenium в BrowserStack [Кросс-браузерное тестирование]

В этом посте мы видим, как запускать тесты Selenium в BrowserStack. Перед этим давайте узнаем, почему мы выполняем тесты Selenium WebDriver на BrowserStack. В этом посте мы узнаем следующее.

  • 1. Что такое BrowserStack
  • 2. Что такое кроссбраузерное тестирование
  • 3. Запустите тесты Selenium в BrowserStack
  • 4. Запуск тестов Selenium в нескольких браузерах параллельно на BrowserStack
  • 5. Создание снимков экрана при выполнении сценариев Selenium в BrowserStack

Что такое BrowserStack

BrowserStack — один из премиальных спонсоров Selenium. BrowserStack поддерживает автоматизированные тесты Selenium. Он запускает наши тесты Selenium в облаке. Это очень просто и понятно. Здесь я не говорю об особенностях BrowserStack. Это выходит за рамки данной статьи. Используя BrowserStack, мы могли бы проводить кросс-браузерное тестирование с использованием Selenium. В этой статье я покажу вам, как проводить кросс-браузерное тестирование с помощью Selenium в BrowserStack.

Вы можете узнать больше о BrowserStack на Официальном сайте BrowserStack

Что такое кроссбраузерное тестирование

Кросс-браузерное тестирование — это тип нефункционального теста, который помогает нам убедиться, что наш веб-сайт или веб-приложение работают должным образом в различных веб-браузерах. Мы можем проводить кросс-браузерное тестирование в разных браузерах как вручную, так и автоматически. Чтобы выполнить кросс-браузерное тестирование вручную, мы (тестировщики программного обеспечения) создаем тесты для каждого браузера и выполняем их вручную в каждом браузере. Чтобы сделать это автоматически, мы могли бы создать тесты Selenium с несколькими условными операторами, которые выполняют тестовые случаи на основе указанного типа браузера. При тестировании веб-сайта нам необходимо убедиться, что он отображается одинаково во всех браузерах. Для этого нам нужно иметь все браузеры. К счастью, есть некоторые инструменты (например, CrossBrowserTesting, BrowserStack) для выполнения кросс-браузерного тестирования без индивидуального ручного тестирования.

Просмотрите видео ниже, чтобы посмотреть «Как выполнять сценарии Selenium параллельно с помощью BrowserStack»

Наберитесь терпения. Видео загрузится через некоторое время.

Запуск тестов Selenium в BrowserStack

Давайте начнем с примера теста, который открывает домашнюю страницу сайта SoftwareTestingMaterial, получает заголовок страницы и проверяет его с помощью утверждения.

Предварительные условия для выполнить кросс-браузерное тестирование с использованием Selenium:

  1. Учетная запись BrowserStack — ссылка для регистрации
  2. Имя пользователя и ключ доступа BrowserStack
  3. Selenium Jars
  4. TestNG Jars

Шаг 1:Через несколько минут после подписки на пробную версию вы получите электронное письмо от службы поддержки BrowserStack с вопросом, нужна ли вам помощь в настройке интеграции с BrowserStack.

После входа в систему запишите свое имя пользователя и ключ доступа. Нам нужно передать имя пользователя и ключ доступа вместе с URL-адресом для запуска скриптов в BrowserStack Cloud. Для этого войдите в систему — нажмите «Автоматизировать» — скопируйте свое имя пользователя и ключ доступа с левой боковой панели

Шаг 2: Создайте проект maven — проверьте этот пост на наличие того же самого

Шаг 3:Скопируйте приведенный ниже код и запустите Selenium Test в BrowserStack

Учитывая четкое объяснение в разделе комментариев внутри самой программы. Пожалуйста, просмотрите его, чтобы понять процесс.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152

пакетные тесты; импортировать java.io.File; импортировать java.net.URL; импортировать java.util.concurrent.TimeUnit; импортировать org.apache.commons.io.FileUtils; импортировать org.openqa.selenium.OutputType; импортировать org.openqa.selenium.Platform; импортировать org.openqa.selenium.TakesScreenshot; импортировать org.openqa.selenium.WebDriver; импортировать org. openqa.selenium.remote.Augmenter;импорт org.openqa.selenium.remote.DesiredCapabilities;импорт org.openqa.selenium.remote.RemoteWebDriver;импорт org.testng.Assert;импорт org.testng.annotations.Test; открытый класс BrowserStackTests {общедоступный драйвер WebDriver; общедоступная статическая конечная строка USERNAME = “rajkumar”; общедоступная статическая финальная строка AUTOMATE_KEY = “rajkumaraccesskey”; общедоступная статическая конечная строка URL = “https://” + USERNAME + “:” + AUTOMATE_KEY + ” @hub.browserstack.com/wd/hub”; @Testpublic void openSTM() throws Exception {                //Чтобы выполнять сценарии через удаленный сервер или сетку в нескольких браузерах, нам нужно установить возможности платформы, версии и т. д., чтобы запустить Возможность scriptsDesiredCapabilities = new DesiredCapabilities(); //Создаем URL objectURL browserStackUrl = новый URL(URL);//Создаем объект драйвера. Выполняем скрипты удаленно. Итак, мы используем RemoteWebDriver//Существует множество конструкторов для remotewebdriver                //Чтобы передать объект URL и объект Capabilities, используйте указанный ниже конструктор                //RemoteWebDriver(URL remoteAddress, Capabilities requiredCapabilities)driver = new RemoteWebDriver (browserStackUrl, возможность);//Неявно подождите 30 секундdriver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);//чтобы открыть urldriver.get(“https://www.softwaretestingmaterial.com”);//чтобы получить текущую urlString ActualURL = driver.getCurrentUrl();//Для печати URL-адреса System.out.println(“URL is “+actualURL);driver.quit();String expectURL = “https://www.softwaretestingmaterial.com/”; //Утверждение для проверки фактического и ожидаемого значенийAssert.assertEquals(actualURL,ожидаемыйURL,”Ожидаемое и фактическое не совпадают”);}}

Вывод:

1234567891011121314

[RemoteTestNG] обнаружил версию 6.12.0 TestNG. URL-адрес https://www.softwaretestingmaterial.com/PASSED: openSTM ========================== ===================    Тест по умолчанию    Выполнено тестов: 1, сбоев: 0, пропусков: 0================ ==============================  =================== ============================ SuiteTotal тестов по умолчанию: 1, сбоев: 0, пропусков: 0======== ======================================

Скриншоты :

КАК ПРОВОДИТЬ ТЕСТЫ SELENIUM НА БРАУЗЕРСТЕКЕ [МЕЖБРАУЗЕРНОЕ ТЕСТИРОВАНИЕ ИСПОЛЬЗОВАНИЕ SELENIUM]

Визуальные журналы:

КАК ПРОВОДИТЬ ТЕСТЫ SELENIUM НА БРАУЗЕРСТЕКЕ [КРОСС-БРАУЗЕРНОЕ ТЕСТИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ SELENIUM]

< h3 id=Run-Selenium-Tests-on-Multiple-Browsers-in-Parallel-on-BrowserStack>Запуск тестов Selenium в нескольких браузерах параллельно в BrowserStack

Скопируйте приведенный ниже текст. код и запустить тест Selenium в BrowserStack

1234567891011121314151617181920212223242526272829303132333343536373839404142434445464748495051525354555657585960616263

пакетные тесты; импорт java.io.File; импорт java.io.IOException; импорт java.net.URL; импорт java.util.concurrent.TimeUnit; импорт org.apache.commons.io.FileUtils; импорт org.openqa.selenium.OutputType; импортировать org.openqa.selenium.Platform;импортировать org.openqa.selenium.TakesScreenshot;импортировать org.openqa.selenium.WebDriver;импортировать org.openqa.selenium.remote.Augmenter;импортировать org.openqa.selenium.remote.DesiredCapabilities;импортировать org.openqa.selenium.remote.RemoteWebDriver; импортировать org.testng.Assert; импортировать org.testng.annotations.DataProvider; импортировать org.testng.annotations.Test; открытый класс BrowserStackTestsWithDataProvider {общедоступный драйвер WebDriver; общедоступная статическая конечная строка USERNAME = “rajkumar”; общедоступная статическая конечная строка AUTOMATE_KEY = “rajkumaraccesskey”; общедоступная статическая конечная строка URL = “https://” + USERNAME + “:” + AUTOMATE_KEY + ” @hub.browserstack.com/wd/hub”; //Здесь, чтобы передать несколько тестовых данных в скрипт, я использую аннотацию @DataProvider для TestNG @Test(dataProvider=”EnvironmentDetails”)public void openSTM(Platform Platform, String browserName, String browserVersion) throws InterruptedException, IOException {DesiredCapabilitiesibility = новые DesiredCapabilities();capability.setPlatform(платформа);capability.setBrowserName(browserName);capability.setVersion(browserVersion);capability.setCapability(“browserstack.debug”, “true”);URL browserStackUrl = новый URL(URL); driver = new RemoteWebDriver (browserStackUrl, возможность); driver.manage(). .getCurrentUrl();System.out.println(“URL равен “+actualURL);driver.quit();String expectURL = “https://www.softwaretestingmaterial.com/”;Assert.assertEquals(actualURL,ожидаемыйURL,” Failed To Open”);}        //передача parallel = true для параллельного запуска тестовых сценариев        //DataProvider поддерживает тип возвращаемого значения Object        //передача таких значений, как MAC в Chrome 62, Windows 8 в Chrome 62 и Windows 7 в Firefox 57. @DataProvider(name=”EnvironmentDetails”, parallel=true)public Object[][] getData(){Object[][] testData = new Object[][]{{Platform.MAC, “chrome”, “62.0”} ,{Platform.WIN8, “chrome”, “62.0”},{Platform.WINDOWS, “firefox”, “57”}};return testData;}}

Вывод:

123456789101112131415161718

[RemoteTestNG] обнаружил версию 6.12.0 TestNG. URL-адрес https://www.softwaretestingmaterial.com/URL-адрес https://www.softwaretestingmaterial.com/URL-адрес https://www.softwaretestingmaterial.com/PASSED: openSTM(WINDOWS, “firefox”, “57”)ПРОШЕЛ: openSTM(MAC, “chrome”, “62.0”)ПРОШЕЛ: openSTM(WIN8, “chrome”, “62.0”) ============== ================================    Тест по умолчанию    Выполнено тестов: 3, сбоев: 0, пропусков: 0=== ===========================================  ====== ========================================= SuiteTotal тестов по умолчанию: 3, сбои: 0, пропуски: 0============================================ ==

Скриншоты:

КАК ВЫПОЛНЯТЬ ТЕСТЫ SELENIUM НА BROWERSTACK [КРОСС-БРАУЗЕРНОЕ ТЕСТИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ SELENIUM]

Снимок экрана во время выполнения Скрипты Selenium в BrowserStack

Чтобы получить скриншоты, вам нужно запустить следующий код:

< td class = crayon-nums data-settings = show>123

driver = (RemoteWebDriver) new Augmenter().augment(driver);File srcFile = (File) ((TakeScreenshot) driver).getScreenshotAs(OutputType.FILE);FileUtils.copyFile(srcFile, новый файл(“/location/to/screenshot.png”))

Полный код:

123456789101112131415161718192021222324252627282930313233334353637383940414243444546474849505152535455565758596061626364

=crayonпакетные тесты; импорт java.io.File; импорт java.io.IOException; импорт java.net.URL; импорт java.util.concurrent.TimeUnit; импорт org.apache.commons.io.FileUtils; импорт org.openqa.selenium.OutputType; импортировать org.openqa.selenium.Platform;импортировать org.openqa.selenium.TakesScreenshot;импортировать org.openqa.selenium.WebDriver;импортировать org.openqa.selenium.remote.Augmenter;импортировать org.openqa.selenium.remote.DesiredCapabilities;импортировать org.openqa.selenium.remote.RemoteWebDriver; импортировать org.testng.Assert; импортировать org.testng.annotations.DataProvider; импортировать org.testng.annotations.Test; открытый класс BrowserStackTestsWithDataProvider {общедоступный драйвер WebDriver; общедоступная статическая конечная строка USERNAME = “rajkumar”; общедоступная статическая конечная строка AUTOMATE_KEY = “rajkumaraccesskey”; общедоступная статическая конечная строка URL = “https://” + USERNAME + “:” + AUTOMATE_KEY + ” @hub.browserstack.com/wd/hub”; @Test(dataProvider=”EnvironmentDetails”)public void openSTM(платформа платформы, String browserName, String browserVersion) выдает InterruptedException, IOException {возможность DesiredCapabilities = new DesiredCapabilities();capability.setPlatform (платформа);capability.setBrowserName(browserName);capability.setVersion(browserVersion);capability.setCapability(“browserstack.debug”, “true”);URL browserStackUrl = новый URL(URL); driver = new RemoteWebDriver (browserStackUrl, возможность); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);driver.get(“https://www.softwaretestingmaterial.com”); //следующие 3 строки кода захватывают скриншотdriver = (RemoteWebDriver) new Augmenter().augment(driver);File srcFile = (File) ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);FileUtils.copyFile(srcFile, новый файл(“/location/to/screenshot.png”));String factURL = driver.getCurrentUrl();System.out.println(“URL is “+actualURL);driver.quit();String expectURL = “https ://www.softwaretestingmaterial.com/”;Assert.assertEquals(фактическийURL, ожидаемыйURL,”Не удалось открыть”);}@DataProvider(name=”EnvironmentDetails”, parallel=true)public Object[][] getData(){ Object[][] testData = new Object[][]{{Platform.MAC, “chrome”, “62.0”},{Platform.WIN8, “chrome”, “62.0”},{Platform.WINDOWS, “firefox” , “57”}};return testData;}}

Вывод.
Вы пытались запустить BrowserStack. Поделитесь своим опытом, оставив комментарий ниже в разделе комментариев. Если вам понравился этот пост, поделитесь им с друзьями.

TAG: qa

От QA genius

Adblock
detector