На рынке существует множество инструментов, которые используют Selenium в качестве основы и создают поверх нее оболочку для большей настройки, лучшей читаемости кода и меньшего обслуживания, например, Watir, Транспортир и т. Д., Чтобы узнать больше о Watir, пожалуйста, обратитесь Тестирование автоматизации кросс-браузера использование Watir и транспортира, пожалуйста, обратитесь Автоматизированное кросс-браузерное тестирование с помощью Транспортира и Селена .
Мы собираемся взглянуть на другую популярную библиотеку “Selenide”, которая использует Selenium в качестве основы для автоматического кроссбраузерного тестирования.
Тестирование с помощью Selenide, работающее на базе Selenium WebDriver, является бесплатным, поскольку Selenide – это библиотека с открытым исходным кодом для автоматизации тестирования. На самом деле, эта библиотека адресована и больше ориентирована на автоматизированное тестирование, особенно на сжатый API и стабильные тесты. Тестирование селена с помощью селенида было очень удобным и эффективным.
Преимущества Тестирования Селена С Помощью Селенида
Тестирование с помощью Selenide поддерживает несколько языков:
- Ява
- Скала
- Заводной
- Клоджур
Варианты интеграции – это:
- Может использовать BDD
- Можно использовать с JUnit, TestNG, JBehave, Cucumber, Serenity
- Может использоваться для интеграции с отчетом об объеме, отчетом о привлекательности и т.д.,
- Поддерживает параллельное выполнение в разных браузерах
- Объекты страницы
Чтобы узнать о том, какие компании проводят тестирование селена с помощью селенида, пожалуйста, перейдите по этой ссылке.
Зачем Нам Все Еще Нужна Другая Обертка?
Вокруг Selenium WebDriver существует несколько библиотек тестирования, но что делает тестирование Selenium с помощью Selenide особенным?
Ниже приведены некоторые из основных преимуществ проведения тестирования селена с помощью селенида.
Краткий тест пользовательского интерфейса : API Selenide состоит из очень немногих классов, которые были построены поверх Selenium. Реализация автоматизированного тестового кода, используемого для тестирования Selenium с помощью Selenide, отличается чистотой, лучшей читабельностью и простотой в использовании.
Проблемы AJAX : Прелесть AJAX заключается в том, чтобы заставить веб-страницу извлекать данные с сервера без загрузки всей страницы. Например. , если вы добавляете запись в форму, предположите, что на левой панели страницы отображаются последние добавленные данные, затем вся страница не обновляется, и верните данные. Когда мы автоматизируем это на веб-странице, мы часто сталкиваемся с проблемой “Такого исключения элемента нет”. Чтобы справиться с этим, в Selenium WebDriver следует применить другой метод ожидания. Однако, когда мы проводим тестирование Selenium с помощью Selenide, эта проблема уже решена, и никакого дополнительного кода не требуется.
Проблемы с таймаутом : При запуске автоматизации иногда у нас возникает проблема с таймаутом, например. загрузка веб-страницы требует времени или поиск элементов требует времени. Это хорошо обрабатывается с помощью тестирования Selenium с помощью Selenide, по умолчанию он ожидает 4 секунды, если использует встроенные методы Selenide. Кроме того, вы все равно можете настроить больше секунд для лучшей синхронизации.
Автоматические скриншоты : Тестирование Selenium с помощью Selenide по умолчанию делает снимок неудачных тестовых случаев, в отличие от Selenium WebDriver. В Selenium WebDriver вам необходимо добавить явный код. Пожалуйста, взгляните на снимок ниже, который на самом деле делает снимок, и поделитесь местоположением, где он находится.
- Исключение StaleElementException : Это исключение возникает по двум причинам:
- Элемент больше не прикреплен в DOM, но ваш код мог ссылаться на этот элемент
- Элемент был полностью удален или изменен с тем же идентификатором или тем же атрибутом.
- Сконцентрируйтесь на бизнес-логике : Просто сосредоточьтесь на том, что необходимо протестировать для вашей бизнес-логики, остальное Selenide позаботится, например, об условиях, проверке, синхронизации, проблемах с таймаутом, конфигурации браузера и т.д.,
- Больше внимания уделяется тестированию : Тестирование Selenium с помощью Selenide развивает больше внимания автоматизации тестирования с повышенным удобством в верхней части Selenium WebDriver.
Поскольку Selenide был разработан как оболочка поверх Selenium, вот некоторые ключевые библиотеки, которые могут показаться вам знакомыми, если вы уже использовали фреймворки Selenium:
| селен-java: Использована последняя версия Java API selenium || selenium-сервер: для поддержки сетки selenium для параллельного выполнения || webdrivermanager: для поддержки встроенной конфигурации браузера, чтобы избежать инициализации || testng: Платформа тестирования поддержки || commons-fileupload: для обработки возможности загрузки файлов в ваш сервлет и веб-приложение || junit: Поддержка фреймворка JUnit |
Прелесть тестирования селена с помощью селенида заключается в том,:
- Вы все еще можете использовать Selenium WebDriver Непосредственно
- Вы можете использовать любой экземпляр webdriver
Запуск Тестирования Селена С Помощью Селенида
Тестирование селена с помощью Selenide group предлагает 3 простых способа запустить автоматизацию тестирования, а именно:
- Откройте страницу
- $($(элемент).Действие()
- $(элемент).проверка(условие) Например, пожалуйста, взгляните на снимок ниже:
| Открыть(https://www.lambdatest.com /) | водитель.получить(“https://www.lambdatest.com /) |
| $(“#отправить”).нажмите(); | драйвер.Найти элемент(По имени класса(“#отправить”)).нажмите() |
| //Условия | Строка.findElement(По.имя_класса.сообщение).Gettext() |
| $(“.$(“.сообщение.”).Должно быть(текст(“Привет”)) | Если(текст.содержит(фактические результаты) |
Вы можете наблюдать читаемый и лаконичный синтаксис, используемый для тестирования с помощью Selenide.
Тестирование Селена С Помощью Селенида: Настройка Среды
Необходимыми условиями являются JDK 1.8.0 и Intellij. Для установки Java требуется минимум JDK 8, для загрузки на официальном сайте нажмите здесь .
После загрузки установка очень проста и понятна для завершения.
После завершения установки вам необходимо будет настроить путь к классам, чтобы программа понимала, где находится java на вашем компьютере
Это можно сделать в операционной системе Windows, выполнив поиск “Переменные среды” и выбрав “Редактировать системные переменные среды”. Создайте JAVA_HOME в системной переменной и ПУТИ, как указано в приведенном ниже снимке.
Создайте JAVA_HOME в системной переменной и обновите значение, в котором Java находится на вашем компьютере.
Теперь нам нужно отредактировать системную переменную Path и добавить в нее JAVA_HOME, чтобы все программы во время выполнения могли обнаруживать Java на вашем компьютере. Убедитесь, что вы добавили значение после добавления точки с запятой.
Чтобы проверить, правильно ли установлен JDK или нет. Вам необходимо ввести следующую команду: java -версия
Слава! Вы только что успешно установили JDK на свой компьютер.
Тестирование Селена С Помощью Selenide – Загрузка IntelliJ И Настройка Maven проект
На рынке доступно множество идей. В этой статье я рекомендую использовать IntelliJ для тестирования селена с помощью селенида. IntelliJ – это бесплатная Java IDE с открытым исходным кодом (интегрированная среда разработки) для разработки программного обеспечения на основе Java, Kotlin. Этот инструмент имеет версию сообщества и Ultimate, версию IntelliJ для сообщества можно загрузить здесь.
После загрузки Intellij часть установки довольно проста, просто следуйте инструкциям, продолжайте использовать параметр по умолчанию и завершите его.
Откройте Intellij и выберите “Создать новый проект” в окне панели мониторинга.
Для этой статьи я бы предпочел использовать проект “Maven”. Выберите конкретную версию Java, которую мы установили, и нажмите “Далее” с параметрами по умолчанию.
Введите значения в необходимые поля, такие как идентификатор группы, идентификатор артефакта, и сохраните его в качестве версии по умолчанию.
Оставьте название проекта и выберите, где будет расположен ваш проект.
Созданный проект для тестирования с помощью Selenide отображается в IntelliJ, как указано ниже.
Добавьте зависимость Selenide Maven, как указано ниже:
com.codeborne
selenide
5.1.0
Не стесняйтесь добавлять необходимые временные зависимости в свой путь к классу. Как я уже упоминал ранее, библиотека Selenide поддерживает фреймворки TestNG, JUnit.
Тестирование Селена С Помощью Селенида- Пример Кода (Не Требует Пояснений)
package selenidesamples;
import org.openqa.selenium.By;
import org.testng.Assert;
import org.testng.annotations.Test;
import static com.codeborne.selenide.CollectionCondition.texts;
import static com.codeborne.selenide.Condition.text;
import static com.codeborne.selenide.Selenide.*;
public class LambdaSampleParallelTestAutomation extends BaseConfig_LambdaTest {
/**
* Author: Muthuraja R
* Description: Validate Error message in Registration Page and capture one of error throws correct or not
*/
@Test
public void verifyStartTestingButton() {
//Launch Lambdatest page
open("https://www.lambdatest.com/");
//use CSS Selector to find element and click for navigating register page
$(".nav>li.login>a").click();
//Verifying Page title using Selenide reusable method
Assert.assertEquals("Sign up for free | Cross Browser Testing Tool | LambdaTest - LambdaTest", title());
//Verifying text "Sign up"
$(".signup-titel").shouldHave(text("SIGN UP"));
//Feeding value to the text using .val
//Feeding value to the text using sendkeys
$(By.name("organization_name")).val("org");
$(By.name("name")).sendKeys("Name");
$(By.name("email")).sendKeys("test@gmail.com");
$(By.name("password")).sendKeys("test1234");
//using shortcut to signup instead of clicking button
$(By.name("phone")).val("13452").pressEnter();
//Capturing actual results and verifying with expected one using collections
$$(".error-mass").shouldHave(
texts("This email is already registered",
"Please enter a valid Phone number",
"To proceed further you must agree to our Terms of Service and Privacy Policy"));
}
}
В приведенном выше примере:
- Войдите на страницу тестирования Лямбды.
- Нажмите на кнопку Зарегистрироваться.
- Введите неверное значение в организации, полное имя, рабочий адрес электронной почты, желаемый пароль и телефон для назначения в обязательных полях, чтобы убедиться, что он возвращает ошибку.
- Наконец, зафиксируйте все ошибки, возникающие на странице, с помощью коллекций.
По сравнению с предыдущим разделом, тестирование с помощью селенида является легким, простым в использовании и обеспечивает лучшую читаемость по сравнению с Selenium. Я не включал конфигурацию браузера или какие-либо предварительные условия, такие как @BeforeClass или @BeforeMethod, и не использовал циклы для повторения и получения содержимого сообщения об ошибке.
Чтобы просто запустить свой локальный браузер, просто используйте url-адрес и напишите базовый тест, как упоминалось выше.
Браузер по умолчанию – браузер “chrome”, если вы не указали какую-либо конфигурацию. Вот результат теста для локального выполнения теста без настройки браузера.
Хотите Выполнить Тестирование Selenium С Помощью Selenide В Другом Браузере?
Запустить тот же тест в других браузерах также довольно просто. Например, в случае, если вы хотите использовать браузер Firefox, я настроил, как показано ниже.
Чтобы узнать больше о конфигурации браузера и о том, как узнать, какие браузеры поддерживает Selenide, пожалуйста, взгляните на снимок ниже.
Многократно Используемые Команды Для Тестирования Селена С Помощью Селенида Здесь мы глубоко погружаемся в команды многократного использования селенида:
package selenidesamples;
import org.openqa.selenium.By;
import org.testng.Assert;
import org.testng.annotations.Test;
import static com.codeborne.selenide.CollectionCondition.texts;
import static com.codeborne.selenide.Condition.text;
import static com.codeborne.selenide.Selenide.*;
public class LambdaSampleParallelTestAutomation extends BaseConfig_LambdaTest {
/**
* Author: Muthuraja R
* Description: Validate Error message in Registration Page and capture one of error throws correct or not
*/
@Test
public void verifyStartTestingButton() {
//Launch Lambdatest page
open("https://www.lambdatest.com/");
//use CSS Selector to find element and click for navigating register page
$(".nav>li.login>a").click();
//Verifying Page title using Selenide reusable method
Assert.assertEquals("Sign up for free | Cross Browser Testing Tool | LambdaTest - LambdaTest", title());
//Verifying text "Sign up"
$(".signup-titel").shouldHave(text("SIGN UP"));
//Feeding value to the text using .val
//Feeding value to the text using sendkeys
$(By.name("organization_name")).val("org");
$(By.name("name")).sendKeys("Name");
$(By.name("email")).sendKeys("test@gmail.com");
$(By.name("password")).sendKeys("test1234");
//using shortcut to signup instead of clicking button
$(By.name("phone")).val("13452").pressEnter();
//Capturing actual results and verifying with expected one using collections
$$(".error-mass").shouldHave(
texts("This email is already registered",
"Please enter a valid Phone number",
"To proceed further you must agree to our Terms of Service and Privacy Policy"));
}
}
В приведенном выше простом методе многократного использования мы рассмотрим, что такое “$” и “$$”, а также действие селена и условные команды.
Определения методов $ и $$:
В терминологии Селенидов:
- $ Указать, находит ли Один Элемент
- $$ Указать, что найдено более одного элемента используемых коллекций
В приведенном выше снимке аргумент в методе Selenide принимает разные типы:
- ВебЭлемент (Элемент)
- css-селектор в виде строки
- Xpath в виде строки
- Селектор селена как по (например, по.xpath(“”)) Для селектора css и xpath вы можете назначить локатор непосредственно в виде строки, которая проста в использовании и обслуживании локаторов.
Условия:
В приведенном выше примере программы мы используем следующее условие для проверки результатов без утверждения:
- $(“.регистрационный номер”).должно быть(текст(“ЗАРЕГИСТРИРОВАТЬСЯ”));
- В этом методе я проверяю, существует ли текст “ЗАРЕГИСТРИРОВАТЬСЯ”, который я использую методом “shouldHave”
- “.название регистрации” – это локатор css
$ указывает на поиск/возврат одного элемента
$$(“.ошибка-масса”).Должно быть(тексты(“Это электронное письмо уже зарегистрировано”, “Пожалуйста, введите действительный номер телефона”, “Другое условие для проверки…..”));
Использовал селектор CSS для поиска сообщения об ошибке, которое возвращает более одной ошибки.
должен быть метод проверки состояния, при котором появляется необходимый текст.
тексты принимают аргумент в массиве, где вы можете передать несколько ожидаемых текстовых условий.
Этот метод должен проверять соответствие между фактическими и ожидаемыми результатами.
В сборке вышеуказанное условие, как и должно быть, должно демонстрировать интеллектуальные возможности ожидания:
- должно быть (“видимым”)
- должно быть (Текст(“Привет, тест”))
- не Должно Быть (“выбрано”)
- должен(“исчезнуть)
По умолчанию метод $.should() ожидает до 4 секунд. Однако, если вы хотите изменить время ожидания, вы можете настроить его следующими способами:
- Конфигурация.тайм-аут=4000 (миллисекунд)
- Mvn//конкретная команда mvn
Для проверки ожидаемого текста в коллекциях:
$(By.xpath("//p[@class='error-mass']")).shouldBe(Condition.visible).shouldHave(
textCaseSensitive("This email is already registered",
"Another Text",
"Another Text"));
Дополнительные Функции:
| $(“div”).вершина прокрутки(); | $(“див”).двойной щелчок(); |
| $(“div”).внутренний текст(); | $(“div”).контекстный щелчок(); |
| $(“div”).innerHTML(); | $(“div”).наведите курсор(); |
| $(“div”).существует(); | $(“div”).Перетаскивание(); |
| $(“выбрать”).Изображение(); | Увеличение(3,5) ; |
| $(выберите”).getSelectedText(); | $(“выбрать).getSelectedValue();.. гораздо больше |
Автоматизация Кроссбраузерных параллельных тестов
До сих пор мы видели, как реализовать тестирование Selenium с помощью Selenide и запустить тест в одном экземпляре с помощью локального браузера.
Постановка задачи : Выполнение одних и тех же тестов в нескольких браузерах и их нескольких версиях на последовательной основе является утомительным и морально изматывающим процессом. Кроме того, становится невозможным получить обратную связь по результатам тестирования автоматизации как можно раньше или в ближайшее время. Особенно в гибком окне выпуска после процесса интеграции CI/CD ( Непрерывная интеграция и непрерывная доставка ). В вашей локальной системе вы можете установить ограниченное количество браузеров, что делать, если вы хотите использовать 40-50 браузеров или даже больше с несколькими версиями браузера?
Решение: Селеновая сетка: Для решения этой проблемы Selenium Grid является решением. Есть возможность решить эту проблему, добавив дополнительные компьютеры в качестве узла selenium, в котором используются наши желаемые возможности для передачи соответствующей версии браузера. Однако поддержание локальной сети может быть очень сложной задачей. Именно здесь “облачные” решения играют жизненно важную роль.
LambdaTest – Бесплатный инструмент для кросс-браузерного тестирования: LambdaTest предлагает автоматическое и интерактивное кросс-браузерное тестирование в режиме реального времени на сетке Selenium, состоящей из более чем 2000 реальных браузеров и операционной системы онлайн. Лямбда-тест имеет возможность выбирать несколько операционных систем с помощью комбинации своего браузера, чтобы обеспечить бесперебойную работу вашего веб-приложения в различных конфигурациях. В реальном мире большая часть тестирования проводится в Windows с комбинацией Chrome, Firefox и т.д. Как насчет платформы Linux с разными браузерами? Как насчет MAC OS с браузером IE? Вы можете проверить все это с помощью лямбда-теста для тестирования совместимости браузера .
Лямбда-тест также предлагает параллельную автоматизацию кроссбраузерных тестов. Мы можем запустить один тест автоматизации в нескольких браузерах и их версиях.
В разделе ниже я собираюсь настроить сетку Selenium (концентратор и узел) и как параллельно запускать тесты в браузерах Chrome и Firefox с помощью TestNG suite.xml
Настройка конфигурации сетки Selenium:
- Перейдите на веб-сайт seleniumhq.
- Скачайте последнюю версию Selenium Server и храните в удобном для вас месте папки.
Чтобы запустить Selenium Grid локально, перейдите в расположение папки в командной строке и введите команду, как указано ниже. java –jar selenium-server-standalone-3.141.59.jar –ролевой центр
- концентратор указывает сервер, на котором он выступает в качестве хоста и управляет вашим браузером. Сервер Selenium успешно запускается, как показано на приведенном ниже снимке.
Теперь очередь за селеновым узлом.
Настройка конфигурации узла Selenium:
На приведенном выше снимке я загрузил драйвер Chrome и драйвер Firefox, которые необходимы для запуска вашего теста в удаленном экземпляре. Я также создал пакетный файл для запуска конфигурации одним щелчком мыши вместо того, чтобы каждый раз открывать командную строку и вводить команды.
Чтобы создать пакетный файл, введите следующие команды. Пожалуйста, убедитесь, что расширение должно быть “.bat”. java -jar selenium-server-standalone-3.141.59.jar -ролевой узел -концентратор http://localhost:4444/grid/зарегистрировать
Чтобы запустить пакетный файл, перейдите в определенную папку в командной строке и введите “имя файла вашего пакетного файла”, как указано в приведенном ниже снимке.
Чтобы проверить отсутствие экземпляра браузера в консоли сетки, перейдите в http://localhost:4000
По умолчанию существует 5 браузеров Firefox, 5 Chrome и 1 браузер IE. Это зависит от вашего удобного количества требуемых экземпляров браузера, которые можно настроить в конфигурации вашего узла Selenium.
Теперь пришло время запустить параллельную автоматизацию на кроссбраузерной платформе.
Тестирование Selenium С помощью Selenide– Пример кода (Не требует пояснений): Кроссбраузерная Параллельная Автоматизация в локальных
В этом примере я сохраняю его как тот же класс, что и в предыдущем разделе, но одно небольшое изменение заключается в том, что я создаю отношения наследования между этим классом и базовым классом.
Производный класс:
package selenidesamples;
import org.openqa.selenium.By;
import org.testng.Assert;
import org.testng.annotations.Test;
import static com.codeborne.selenide.CollectionCondition.texts;
import static com.codeborne.selenide.Condition.text;
import static com.codeborne.selenide.Selenide.*;
public class LambdaSampleParallelTestAutomation extends BaseConfig_LambdaTest {
/**
* Author: Muthuraja R
* Description: Validate Error message in Registration Page and capture one of error throws correct or not
*/
@Test
public void verifyStartTestingButton() {
//Launch Lambdatest page
open("https://www.lambdatest.com/");
//use CSS Selector to find element and click for navigating register page
$(".nav>li.login>a").click();
//Verifying Page title using Selenide reusable method
Assert.assertEquals("Sign up for free | Cross Browser Testing Tool | LambdaTest - LambdaTest", title());
//Verifying text "Sign up"
$(".signup-titel").shouldHave(text("SIGN UP"));
//Feeding value to the text using .val
//Feeding value to the text using sendkeys
$(By.name("organization_name")).val("org");
$(By.name("name")).sendKeys("Name");
$(By.name("email")).sendKeys("test@gmail.com");
$(By.name("password")).sendKeys("test1234");
//using shortcut to signup instead of clicking button
$(By.name("phone")).val("13452").pressEnter();
//Capturing actual results and verifying with expected one using collections
$$(".error-mass").shouldHave(
texts("This email is already registered",
"Please enter a valid Phone number",
"To proceed further you must agree to our Terms of Service and Privacy Policy"));
}
}
Базовый класс:
package selenidesamples;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Parameters;
import java.net.MalformedURLException;
import java.net.URL;
import static com.codeborne.selenide.Selenide.open;
import static com.codeborne.selenide.WebDriverRunner.setWebDriver;
public class BaseConfig_LambdaTest {
private WebDriver driver;
private DesiredCapabilities desiredCapabilities;
public String getLambdaUserName() {
return System.getenv("LAMBDA_USERNAME");
}
public String getLambdaPassword() {
return System.getenv("LAMBDA_PASSWORD");
}
@BeforeClass
@Parameters({"browserName", "platform", "browserVersion", "visualEnable"})
public void init(String browserName, String platform, String browserVersion, String visualEnable) throws MalformedURLException {
desiredCapabilities = new DesiredCapabilities();
if (browserName.equals("chrome")) {
desiredCapabilities.setCapability("browserName", "chrome");
} else if (browserName.equals("firefox")) {
desiredCapabilities.setCapability("browserName", "firefox");
}
desiredCapabilities.setCapability("platform", platform);
desiredCapabilities.setCapability("version", browserVersion);
desiredCapabilities.setCapability("visual", visualEnable);
desiredCapabilities.setCapability("build", "LambdaTestBuild");
desiredCapabilities.setCapability("name", "LambdaTest Execution");
System.out.println("https://" + getLambdaUserName() + ":" + getLambdaPassword() + "@hub.lambdatest.com/wd/hub");
driver = new RemoteWebDriver(new URL("https://muthu.crr:Kw8xyUoShEO9GAtPqW509OWHggQYzzaLJnznu9R3RChfRSnmhh@hub.lambdatest.com/wd/hub"), desiredCapabilities);
//driver = new RemoteWebDriver(new URL("https://" + getLambdaUserName() + ":" + getLambdaPassword() + "@hub.lambdatest.com/wd/hub"), desiredCapabilities);
setWebDriver(driver);
open("https://www.lambdatest.com/");
driver.manage().window().maximize();
}
@AfterClass
public void tearDown() {
if (driver != null)
driver.quit();
}
}
Какова Желаемая способность?
Это пары ключ/значение, в которых хранятся свойства браузера, свойства платформы и т.д., Например. , Это зависит от того, какое имя браузера, версия браузера, название платформы, например Windows 10, Linux и т.д., Это будет определять поведение браузера во время выполнения.
Метод setCapability помогает инициализировать и сообщить “WebDriver”, какую среду и браузер запускать.
Прелесть желаемой возможности заключается в том, чтобы параллельно запускать одни и те же тестовые примеры в разных браузерах с комбинацией их версии и операционной системы.
В приведенном выше примере я собираюсь объяснить, как я создал образец теста, который запускает несколько браузеров.
Класс Baseconfig – это “Базовый класс”, который содержит параметры, класс до и класс после, которые фактически являются аннотацией TESTNG. Чтобы узнать более подробную информацию о ТЕСТИРОВАНИИ, пожалуйста, посетите здесь, но этот пример пошагово показывает, как я разработал образец теста.
Шаг 1: Настройте XML-файл TestNG с настройкой потока и параметризацией, как показано ниже.
| количество потоков | 5 (Укажите, сколько потоков нужно подсчитать) |
| Параметр | Инициализируйте имя параметра и его значение, например, для chrome или firefox |
| Класс | Включить имя класса указывает, какой класс вы хотели бы выполнить |
ТЕСТИРОВАНИЕ облегчает вашу жизнь с точки зрения параллельного выполнения тестов. Настройте тот же класс под тегом Test в наборах и убедитесь, что параметры добавлены в тест для независимого выполнения.
Шаг 2: Имя @Parameters должно совпадать с тем, что указано в тестировании suites.xml
При выполнении этого кода в нескольких потоках создаются два экземпляра браузера, которые запускают ваш тест параллельно.4
Поскольку мы уже настроили сервер selenium, и он запущен. Мы используем удаленный драйвер для инициализации сведений о хосте сервера и настройки желаемых возможностей.
установите WebDriver(драйвер): Этот метод важен для инициализации вашей индивидуальной конфигурации браузера, позвольте WebDriverRunner в рамках Selenide, в противном случае он выдаст ошибку тайм-аута и рассмотрит браузер по умолчанию (chrome), который выполнит тест в одном экземпляре.
Вот результат теста при параллельном выполнении для нескольких браузеров.
Выполнение Параллельного Теста В Лямбда-Тесте Для Тестирования Селена С Селенидом
Выполнить один и тот же тест параллельно на лямбда-тесте очень просто и прямолинейно. Я собираюсь объяснить некоторые сценарии в лямбда-тесте, за исключением нескольких настроек в коде класса BaseConfig и TestNG.
В этом примере я добавил еще несколько параметров для запуска того же скрипта в лямбда-тесте.
| Имя браузера | Индивидуальный способ настройки имени вашего браузера, например Chrome, Firefox и т.д. |
| Платформа | Лямбда-тест предлагает запускаться на разных платформах Windows 10, Linux и т.д., |
| Версия браузера | Лямбда-тест предлагает вам выбрать другую версию браузера, которая на самом деле поможет вам проверить ваш тест, например, как ваш продукт используется клиентами |
| Визуальное Включение | Эта функция в основном предназначена для записи всего выполнения в видео и журналах. |
Вы все еще можете добавить индивидуальную конфигурацию, пожалуйста, посетите здесь .
Изменения В Базовом Классе Конфигурации Для Лямбда-теста
В приведенном выше коде я использую два метода, которые:
- получить имя пользователя Лямбда()
- Пароль getLambda()
Эти методы фактически получат учетную запись пользователя и пароль для лямбда-теста из переменной среды, которую вы установили на компьютере.
Как Установить Переменную Среды Для Имени Пользователя/Пароля Лямбда-Теста?
В Windows 10 -> Переменная среды поиска -> Изменить системную переменную среды -> Нажать кнопку Создать
- Введите имя переменной как “LAMBDA_USERNAME”.
- Введите значение переменной как “YOUR_LAMBDA_ACCOUNT”.
Примечание:
- Аналогично сделайте то же самое для пароля
- Ключ API может быть сгенерирован на странице вашего профиля при входе в лямбда-тест
- Нажмите кнопку “Ок”.
- Работать Параллельно:
- Открыть “testsuites_Parallel_Lambda.xml “.
Результаты теста выполняются на портале Lambda Test, и результат может быть отображен на приведенном ниже снимке.
Перейдите к конкретному тесту для подробного просмотра, где вы можете увидеть следующий параметр экрана.
- Резюме
- Исключение
- Команда
- Сеть
- Бревна
- Метаданные
Вывод:
Selenide – замечательная библиотека, которая на самом деле решает многие проблемы, разработанные поверх Selenium. Эта библиотека поможет вам выполнить ваш тест с лучшей повторяемостью и удобочитаемостью. Преимущество использования этого инструмента заключается в том, что вы все еще можете написать как Selenium WebDriver, так и часть кода Selenide в своей структуре, которая делает ее стабильной и надежной.
Спасибо за ваше время, пожалуйста, держите нас в курсе ваших отзывов и комментариев.
Первоисточник: Первоисточник:
Статьи по теме
- Автоматическое Тестирование С Помощью JUnit И Selenium Для Совместимости С Браузерами
- 13 Причин, По которым Selenium WebDriver Должен Быть Вашим Первым Выбором для Автоматизированного Тестирования!
- Как Использовать Селекторы CSS В Сценариях Автоматизации Selenium?
- Автоматизированное Тестирование С Помощью Selenium, Cucumber и Тестирования
Оригинал: “https://dev.to/muthuraja/running-selenium-automation-tests-using-selenide-intellij-and-maven-3d0e”