ЗАПУСК СКРИПТОВ SELENIUM В ОБЛАКЕ LAMBDATEST | АВТОМАТИЗИРОВАННОЕ КРОСС-БРАУЗЕРНОЕ ТЕСТИРОВАНИЕ

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

Много раз мы сталкиваемся с ситуацией, когда нам приходится запускать селеновые скрипты с несколькими версиями браузеров. Всегда есть ограничения для запуска на локальных машинах. Мы не можем установить тысячи браузеров на наш локальный компьютер для автоматического кросс-браузерного тестирования. Удаленное выполнение в облаке — это решение для преодоления этого ограничения. LambdaTest Selenium Automation Grid — это масштабируемая облачная платформа для тестирования Selenium, которая позволяет пользователям запускать свои сценарии автоматизации в более чем 2000 браузерах и операционных системах. В предыдущем посте (обзор LambdaTest) мы не упомянули, как запускать автоматизированные тестовые примеры Java Selenium в облаке LambdaTest. В этой статье мы рассмотрим, как настраивать и запускать сценарии автоматизированного тестирования на основе Java на облачной платформе LambdaTest Selenium.

ЗАПУСК СКРИПТОВ SELENIUM В ОБЛАКЕ LAMBDATEST | АВТОМАТИЗИРОВАННОЕ КРОСС-БРАУЗЕРНОЕ ТЕСТИРОВАНИЕ

В этом посте мы рассмотрим следующее:

  • Что такое LambdaTest
  • Возможности LambdaTest
  • Что такое кросс-браузерное тестирование
  • Предварительные условия для выполнения кросс-браузерного тестирования с помощью Selenium
  • Выполнение тестов Selenium на облачной платформе LambdaTest
  • Выполнение тестов Selenium в нескольких браузерах параллельно на LambdaTest

Что такое LambdaTest

LambdaTest – это облако для кросс-браузерного тестирования, позволяющее разработчикам и тестировщикам выполнять кросс-браузерное тестирование в более чем 2000 реальных браузеров и операционных систем в режиме онлайн с различными разрешениями экрана. LambdaTest позволяет нам тестировать новейшие мобильные и настольные браузеры в облаке.

Перейдите по этой ссылке, чтобы узнать больше о LambdaTest

Функции LambdaTest

  • Он поддерживает непрерывное тестирование с помощью инструментов непрерывной интеграции, таких как Jenkins, Buildbot, Circle CI, Codeship, Continua, Cruise Control, Bamboo, GOCD, Solano CI, Teamcity, Travis CI
  • Он поддерживает различные языки и платформы, такие как Python, Java, Javascript, CSharp, Ruby, PHP
  • Тестирование локально размещенных веб-страниц
  • Подробная отладка тестовых случаев
  • Он оснащен более чем 2000 различных браузеров
  • Самое лучшее, что вы получаете круглосуточную поддержку от технических экспертов LambdaTest< /ul>

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

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

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

    1. Учетная запись LambdaTest — ссылка для регистрации
    2. Имя пользователя и ключ доступа LambdaTest
    3. Java Development Kit (JDK) 1.6 или выше — ссылка для установки Java
    4. Selenium Jars
    5. TestNG Jars

    Запустить Selenium Тесты на облачной платформе LambdaTest

    Шаг 1:Понимание возможностей Selenium Grid LambdaTest очень важно при использовании платформы LambdaTest Cloud. Selenium Grid LambdaTest использует удаленный веб-драйвер вместо обычного драйвера браузера клиента Selenium. Вы должны вызвать удаленный веб-драйвер LambdaTest Selenium. Вам необходимо указать такие сведения, как браузер, версия браузера, ОС и разрешение, на которых вы хотите запустить тест, а также конкретные возможности LambdaTest.

    Шаг 2. Создайте проект maven — проверьте этот пост. для того же

    Шаг 3: Скопируйте приведенный ниже код и запустите Selenium Test на LambdaTest. В приведенном ниже коде проверяется простое приложение для работы со списком дел.

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

    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081

    пакетные тесты; импортировать java.net.MalformedURLException;импортировать java.net.URL;импортировать org.openqa.selenium.By;импортировать org.openqa.selenium.JavascriptExecutor;импортировать org.openqa.selenium.remote.DesiredCapabilities;импортировать org.openqa.selenium. remote.RemoteWebDriver;public class JavaTodo {    String username = “YOUR_USERNAME”; //Добавьте свое имя пользователя    String accesskey = “YOUR_ACCESS_KEY”; //Добавьте ключ доступа    static RemoteWebDriver driver = null; Строка gridURL = “@hub.lambdatest.com/wd/hub”; логический статус = ложь; public static void main(String[] args) {        new JavaTodo().test(); }    public void test() {        //Для установки драйвера        setUp(); try {              //Измените его на рабочую страницу            driver.get(“https://lambdatest.github.io/sample-todo-app/”); //Отметим выполненными первые два пункта в списке. driver.findElement(By.name(“li1”)).click(); driver.findElement(By.name(“li2”)).click(); //Добавим элемент в список. driver.findElement(By.id(“sampledotext”)).sendKeys(“Да, давайте добавим в список”); driver.findElement(By.id(“добавитькнопку”)).click(); //Проверим, добавлен ли добавленный нами элемент в список. Строка enterText = driver.findElementByXPath(“/html/body/div/div/div/ul/li[6]/span”).getText(); if (enteredText.equals(“Да, добавим в список”)) {                status = true; }        } catch (Exception e) {            System.out.println(e.getMessage()); } finally {            tearDown(); }    }    private void setUp() {     /*В этом коде мы передаем информацию о браузере, версии браузера и операционной системе,     вместе с возможностями сетки LambdaTest Selenium через объект возможностей. Объект возможностей в приведенном выше коде определяется как:*/        DesiredCapabilitiesbilities = new DesiredCapabilities(); Возможности.setCapability(“имя_браузера”, “хром”); Возможности.setCapability(“версия”, “70.0”); Возможности.setCapability(“платформа”, “win10”); //Если этот предел не указан, он просто получит любой доступный. Возможности.setCapability(“сборка”, “LambdaTestSampleApp”); Возможности.setCapability(“имя”, “LambdaTestJavaSample”); Возможности.setCapability(“сеть”, правда); //Чтобы включить сетевые журналы        capabilities.setCapability(“visual”, true); //Чтобы включить пошаговый скриншот        capabilities.setCapability(“video”, true); //Чтобы включить запись видео        capabilities.setCapability(“console”, true); //Для захвата журналов консоли                /* наиболее важными возможностями являются 'название_браузера', 'версия' и 'платформа'. Они определяют, в какой среде браузера вы хотите запустить тест. Остальные возможности важны для управления тестированием и отладки.*/               try {                 /* если вы планируете запускать сценарии в браузере Firefox на локальном компьютере,         вы должны использовать драйвер браузера Firefox. т. е. драйвер FirefoxDriver = новый FirefoxDriver(); Однако для запуска ваших скриптов в сетке LambdaTest Selenium         вам придется изменить удаленный WebDriver и в то же время передать возможности, связанные с браузером, версиями браузера и т. д.         Это выглядит так, как показано ниже */            driver = new RemoteWebDriver(new URL(” https://” + имя пользователя + “:” + ключ доступа + gridURL), возможности); } catch (MalformedURLException e) {            System.out.println(“Недопустимый URL сетки”); } catch (Exception e) {            System.out.println(e.getMessage()); }    }    private void tearDown() {        if (driver != null) {            ((JavascriptExecutor) driver).executeScript(“lambda-status=” + status); водитель.выйти(); //действительно важное утверждение для предотвращения тайм-аута при выполнении теста. }    }}

    Шаг 4. Вам необходимо сгенерировать токен доступа. Запишите свое имя пользователя и токен доступа и измените их в приведенном выше коде. Параллельные браузеры в LambdaTest

    Если у вас несколько одновременных сеансов, вы можете запускать свои тестовые примеры на нескольких компьютерах одновременно. Таким образом, вы можете значительно сэкономить время выполнения теста.

    Скопируйте приведенный ниже код и запустите Selenium Test в нескольких браузерах параллельно в LambdaTest

    1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677

    пакетные тесты; импортировать org.openqa.selenium.By;импортировать org.openqa.selenium.JavascriptExecutor;импортировать org.openqa.selenium.Platform;импортировать org.openqa.selenium.WebDriver;импортировать org.openqa.selenium.remote.DesiredCapabilities;импортировать org. openqa.selenium.remote.RemoteWebDriver;импорт org.testng.Assert;импорт org.testng.annotations.AfterClass;импорт org.testng.annotations.BeforeClass;импорт org.testng.annotations.Test;импорт java.net.MalformedURLException;импорт java.net.URL;public class TestNGTodo {     public String username = “YOUR_USERNAME”; public String accesskey = “YOUR_ACCESS_KEY”; общедоступный статический драйвер RemoteWebDriver = null; public String gridURL = “@hub.lambdatest.com/wd/hub”; логический статус = ложь; @BeforeClass    @org.testng.annotations.Parameters(value={“браузер”,”версия”,”платформа”})    public void setUp() throws Exception {       Возможности DesiredCapabilities = new DesiredCapabilities(); Возможности.setCapability(“имя_браузера”, “хром”); Возможности.setCapability(“версия”, “70.0”); Возможности.setCapability(“платформа”, “win10”); //Если это ограничение не указано, оно просто получит любое доступное значение        capabilities.setCapability(“build”, “LambdaTestSampleApp”); Возможности.setCapability(“имя”, “LambdaTestJavaSample”); Возможности.setCapability(“сеть”, правда); //Чтобы включить сетевые журналы        capabilities.setCapability(“visual”, true); //Чтобы включить пошаговый скриншот        capabilities.setCapability(“video”, true); //Чтобы включить запись видео        capabilities.setCapability(“console”, true); //Чтобы записывать журналы консоли        try {            driver = new RemoteWebDriver(new URL(“https://” + имя пользователя + “:” + ключ доступа + gridURL), возможности); } catch (MalformedURLException e) {            System.out.println(“Недопустимый URL сетки”); } catch (Exception e) {            System.out.println(e.getMessage()); }    }      @Test    public void testSimple() throws Exception {       try {              //Измените его на рабочую страницу            driver.get(“https://lambdatest.github.io/sample-todo-app/”); //Отметим выполненными первые два пункта в списке. driver.findElement(By.name(“li1”)).click(); driver.findElement(By.name(“li2”)).click(); //Добавим элемент в список. driver.findElement(By.id(“sampledotext”)).sendKeys(“Да, давайте добавим в список”); driver.findElement(By.id(“добавитькнопку”)).click(); //Проверим, добавлен ли добавленный нами элемент в список. Строка enterText = driver.findElementByXPath(“/html/body/div/div/div/ul/li[6]/span”).getText(); if (enteredText.equals(“Да, добавим в список”)) {                status = true; }        } catch (Exception e) {            System.out.println(e.getMessage()); }    }      @AfterClass    public void tearDown() throws Exception {       if (driver != null) {            ((JavascriptExecutor) driver).executeScript(“lambda-status=” + status); водитель.выйти(); }    }}

    Файл пакета TestNG:

    12345678910111213141516171819202122232425262728293031

    <?xml version=”1.0″ encoding=”UTF-8″?><!DOCTYPE suite SYSTEM “http://testng.org/testng-1.0.dtd”><suite thread-count=”3″ name=”LambaTestSuite” parallel=”tests”>  <test name=”WIN8TEST”>  <parameter name=”browser” value=”firefox”/>  <parameter name= “version” value=”62.0″/>  <parameter name=”platform” value=”WIN8″/>    <classes>      <class name=”lambdatest.TestNGTodo”/>    </classes>  </test > <!– Test –>  <test name=”WIN10TEST”>  <имя параметра=”browser” value=”chrome”/>  <имя параметра=”версия” value=”70.0″/>  < ;имя параметра=”платформа” значение=”WIN10″/><classes>      <class name=”lambdatest.TestNGTodo”/>    </classes>  </test> <!– Test –>  <test name=”MACTEST”>  <parameter name=” browser” value=”safari”/>  <имя параметра=”версия” value=”11.0″/>  <имя параметра=”платформа” value=”macos 10.13″/>    <классы>      <имя класса=” lambdatest.TestNGTodo”/>    </classes>  </test> <!– Test –></suite> <!– Suite –>

    Вы можете запустить набор тестов в нескольких браузерах с простыми аннотациями и параметрами TestNG, без изменения параметров браузеров в скрипте каждый раз.

    Вывод:
    Кросс-браузерное тестирование является частью нашей работы, и параллельный запуск Selenium Scripts упрощает нашу жизнь с точки зрения экономии времени. Пробовали ли вы запускать Selenium Scripts на облачной платформе LambdaTest. Поделитесь своим опытом, оставив комментарий ниже в разделе комментариев. Если вам понравился этот пост, поделитесь им с друзьями.

    Ссылка

    TAG: qa

От QA genius

Adblock
detector