SELENIUM 4.0 — ВВЕДЕНИЕ, НОВЫЕ ФУНКЦИИ, УСТАНОВКА, ЧТО УСТАРЕЛО

SELENIUM 4.0 – ВВЕДЕНИЕ, НОВЫЕ ФУНКЦИИ, УСТАНОВКА, ЧТО УСТАРЕЛО< /p>

Содержание

В этом посте мы расскажем вам все, что вам нужно знать о Selenium 4. Мы начнем с общего введения в Selenium, новых функций Selenium 4, различий между Selenium 3.0 и Selenium 4.0. и следующие.

Введение в Selenium

Selenium — один из ведущих инструментов автоматизации тестирования на рынке. Selenium впервые был запущен в 2004 году как Selenium Core. В 2007 году добавлены Selenium IDE и Selenium WebDriver. Позже инструменты Selenium были названы Selenium 2 (2011 г.), Selenium 3 (2016 г.). Теперь Selenium выходит как Selenium 4.0.

Примечание.До сих пор стабильная версия не выпущена. Текущая версия — Selenium 4 (Alpha 7), выпущенная 10 ноября 2020 года. Мы надеемся, что все функции, которые мы здесь перечислим, будут доступны в следующем официальном выпуске Selenium 4. Пока Selenium 4 не будет официально выпущен, не рекомендуется обновлять или переносить существующий проект Selenium

Что нового в Selenium 4?

Selenium IDE

Для его использования не требуются обширные знания в области программирования. Он поддерживает быструю разработку тестов. Это похоже на инструмент для записи и воспроизведения.

Selenium WebDriver

Он автоматизирует браузер и поддерживает такие языки программирования, как Java, JavaScript, Python, Perl и т. д.,

Selenium Grid

Selenium Grid 4 позволяет нам для запуска наших тестовых сценариев на нескольких машинах или системах.

Разница между Selenium 3 и Selenium 4< /h2>

Selenium 3 против Selenium 4

Selenium 3.0

Проводной протокол JSON использовался для связи между API-интерфейсами Selenium Webdriver и собственными API-интерфейсами браузера. Все запросы и ответы, переданные по протоколу, были закодированы и декодированы.

Selenium 4.0

Он следует стандартному протоколу W3C (связь драйвера и браузера следует стандартной процедуре) из-за этого запроса, а ответ, передаваемый по протоколу, не требуется API кодирования и декодирования.

Функции Selenium 4

13 октября 2021 года Selenium 4 был выпущен как стабильная версия после альфа- и бета-версий своего предшественника. Представленные функции Selenium 4 гораздо более перспективны, чем кто-либо мог себе представить, и именно это мы и обсудим в этом разделе.

#1 . WebDriver изменен на стандартизацию W3C

Основным изменением в Selenium 4 является стандартизация API WebDriver по отношению к стандартам W3C для обеспечения совместимости различных реализаций программного обеспечения. Благодаря этому изменению запросы и ответы, передаваемые по протоколу, не требуют API кодирования и декодирования. На основе обновления стандартов W3C любое программное обеспечение, соответствующее стандартам W3C, может быть интегрировано с Selenium 4 без каких-либо проблем с совместимостью. Почти все браузеры, такие как Chrome, Safari и IE, уже соответствуют стандарту W3C.

#2. Selenium Grid Оптимизация

Хотя Selenium Grid был разработан еще в 2011 году. В Selenium 4 Selenium Grid предлагает импровизированный пользовательский интерфейс и стабильность, устраняя проблемы, возникшие в более ранней версии Grid, такие как установка, соединение между концентратором и узлом.

Это позволяет нам выполнять тестовые случаи параллельно в нескольких операционных системах, нескольких браузерах и в разных версиях.

Пользовательский интерфейс Grid является гибким и удобным для пользователя, а такую ​​информацию, как емкость сеанса и время выполнения, можно найти в пользовательском интерфейсе.

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

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

Нет необходимости настраивать хаб и узлы по отдельности после запуска сервера. Grid автоматически работает как концентратор и узлы.

Мы можем использовать Docker для запуска контейнеров вместо того, чтобы пользователи настраивали тяжелые виртуальные машины. Мы можем развернуть его в Kubernetes для лучшего масштабирования и возможностей самовосстановления.

Он также поддерживает такие инструменты, как AWS, Azure, и помогает в процессе DevOps.

Перейдите по этой ссылке для получения дополнительной информации о Selenium Grid

#3. Относительные локаторы

Относительные локаторы (также известные как Дружественные локаторы) позволяют нам находить веб-элементы по их положению относительно других веб-элементов, таких как выше, ниже, слева от, справа оти рядом.

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

Есть пять локаторы, недавно добавленные в Selenium 4:

  • выше(): они предназначены для поиска веб-элемента чуть выше указанного элемента
  • ниже(): Чтобы найти веб-элемент сразу под указанным элементом
  • toLeftOf(): Это поиск веб-элемента слева от указанного элемента
  • toRightOf(): поиск веб-элемента справа от указанного элемента
  • Near(): найти веб-элемент на расстоянии прибл. 50 пикселей от указанного элемента. Расстояние можно передать в качестве аргумента перегруженному методу.

Примечание. Метод «withTagName()» добавлен, который возвращает экземпляр RelativeLocator. Указанный выше относительный локатор поддерживает этот метод «withTagName()

1234567891011121314151617181920212223

//Предположим, что element1 находится выше element2WebElement element1;element1 = driver.findElement(By.id(“1234”));String element2 = driver.findElement(withTagName(“ABC”).below(element1)).getText();System .out.println(“Элемент ниже element1 равен “+ element2); //Предположим, что element0 находится выше element1WebElement element1;element1 = driver.findElement(By.id(“1234”));String element0 = driver.findElement(withTagName(“ABC”).above(element1)).getText();System .out.println(“Элемент над element1 равен “+ element0); //Предположим, что element1 находится слева от element3WebElement element1;element1 = driver.findElement( withTagName(“ABC”).toLeftOf(element3)).getText();System.out.println(” Слева от элемента 3: ” + элемент1); //Предположим, что element3 находится справа от element1WebElement element3;element3 = driver.findElement( withTagName(“ABC”).toRightOf(element1)).getText();System.out.println(” Справа от элемента 1: ” + element3);

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

#4. Несколько вкладок и окон

С Selenium 4 мы можем работать с несколькими вкладками или окнами. Мы можем открыть новую вкладку или окно в том же сеансе, не создавая новый объект драйвера.

  • Чтобы создать новую вкладку, передав WindowType.TAB в newWindow()< /strong> метод
  • Чтобы создать новое окно, передав WindowType.WINDOW методу newWindow()

Примечание: Чтобы переключаться между окнами, мы должны получить идентификаторы окон и передать их на вкладку switchTo().window()

Tab:

1

driver.get(https://www.google.com/);<br>driver.switchTo().newWindow(WindowType.TAB);<br>driver.navigate().to(https://www.softwaretestingmaterial.com/);

Окно:< /b>

1

driver.get(https://www.google.com/);<br>driver.switchTo().newWindow(WindowType.WINDOW);<br>driver.navigate().to(https://www.softwaretestingmaterial.com/);

#5. Поддержка браузеров

Нативная поддержка была удалена для Opera и PhantomJS. Поскольку реализация WebDriver для этих браузеров больше не находится в активной разработке.

  • Если вы являетесь пользователем Opera, вы можете использовать Chrome.
  • Если вы являетесь пользователем PhantomJS, вы можете использовать Chrome или Firefox в автономном режиме.

#6. Selenium IDE

Selenium IDE — это инструмент, используемый для записи и воспроизведения. Это позволяет нам взаимодействовать с браузерами. Предыдущая версия Selenium IDE устарела в 2017 году. Последняя версия Selenium IDE предлагает более расширенные возможности.

  • Улучшенный пользовательский интерфейс и пользовательский интерфейс
  • Это позволяет нам экспортировать код для всех официальных языковых привязок (Java, Python, JavaScript, .Net и Ruby)
  • Средство командной строки (Selenium-side-runner), которое работает на NodeJs, позволяет нам выполнять воспроизведение и параллельное выполнение в нескольких браузерах.
  • Он также предоставляет отчеты с такой информацией, как общее количество тестовых случаев, выполненных с временем выполнения, нет. пройдено тестовых случаев, и нет. тестовых случаев не удалось.
  • Он позволяет пользователям работать в таких браузерах, как Firefox, Google Chrome, IE и т. д.,

#7. Снимок экрана WebElement

Selenium 4 позволяет делать снимки экрана на разных уровнях пользовательского интерфейса, таких как элемент, раздел и полная страница. Мы обсудим, почему эта функция необходима и как ее можно реализовать в Selenium 4, а также приведем примеры кода.

Selenium 3 позволяет пользователям захватывать только веб-страницу и не позволяет делать снимок экрана определенного веб-элемента. Selenium 4 позволяет нам сделать снимок экрана определенного веб-элемента.

1234

WebElement screenshot =driver.Findelement(By.xpath(“YourXpath”));File srcFile = screenshot.getScreenshotAs(OutputType.FILE) ;File dstFile = new File(“Image.png”);FileUtils.copyFile(srcFile,dstFile);

#8. Инструменты разработчика Chrome

Selenium 4 имеет встроенную поддержку протокола Chrome DevTools через интерфейс «DevTools». Благодаря этому мы можем получить свойства разработки Chrome, такие как кэш приложения, выборка, производительность, сеть, профилировщик, синхронизация ресурсов, безопасность и целевые домены CDP и т. д.

Chrome DevTools — это набор инструментов веб-разработчика. Они были встроены непосредственно в браузер Chrome. Это позволяет нам редактировать веб-страницы и быстро диагностировать проблемы. Так мы сможем делать веб-сайты лучше и быстрее.

Мы подробно рассмотрим Chrome DevTools позже.

#9. Мониторинг

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

#10. Документация

Selenium 4 поставляется с официальной и подробной документацией по Selenium IDE, Selenium WebDriver и Selenium Grid.

Документация по Selenium WebDriver доступна, ее можно найти здесь.

Загрузить Selenium 4

Вы можете найти Selenium 4 Alpha в репозитории Maven. Вы можете скачать его с официального сайта Selenium

SELENIUM 4.0 – ВВЕДЕНИЕ, НОВЫЕ ФУНКЦИИ, УСТАНОВКА, ЧТО УСТАРЕЛО

Загрузите зависимости Selenium 4 (Alpha 7) Maven отсюда

Как перейти с Selenium 3 на Selenium 4?

Если вы хотите перейти с Selenium 3 на Selenium 4, вам необходимо ознакомиться с нашим пошаговым руководством по установке Selenium 4, чтобы установить Selenium 4.

Что не рекомендуется в Selenium 4

Некоторые методы, которые не рекомендуются в Selenium 4, следующие

#1. Интерфейс FindsBy

FindsBy является частью пакета org.openqa.selenium.internal, реализованного Класс RemoteWebDriver. Это методы findElement(By), findElements(By).

Примечание. Эти изменения не коснутся конечных пользователей. Вы можете использовать класс By с findElement(By) и findElements(By).

#2. Действия

Класс Actions используется для эмуляции жестов пользователя, таких как движения мыши, наведение курсора и т. д. В Selenium 4 к классу Actions были добавлены некоторые новые методы в качестве замены классов в пакет org.openqa.selenium.interactions.

#2.1. нажмите

click(WebElement) — это метод щелчка по элементу. Он добавлен в класс Actions вместо moveToElement(onElement).click()

#2.2. clickAndHold

clickAndHold(WebElement) – это метод щелчка по элементу без отпускания. Он добавлен в класс Actions взамен moveToElement(onElement).clickAndHold()

#2.3. контекстный клик

contextClick(WebElement) — это метод для щелчка правой кнопкой мыши по элементу. Он добавлен в класс Actions вместо moveToElement(onElement).contextClick().

#2.4. doubleClick

doubleClick(WebElement) — это метод двойного щелчка по элементу. Он добавлен в класс Actions вместо moveToElement(element).doubleClick().

#2.5. освободить

release() — это метод для отпускания нажатой левой кнопки мыши в текущем местоположении мыши. release() перемещен в класс Actions из класса org.openqa.selenium.interactions.ButtonReleaseAction.

#3. Fluent Wait

Методы в FluentWait, такие как withTimeout() и pollingEvery(), были изменены.

< сильный>#3.1. Fluentwait в Selenium 3

1

FluentWait wait = new FluentWait(драйвер)<br>.pollingEvery(20, TimeUnit.MILLISECONDS)<br>.withTimeout(20, TimeUnit.SECONDS)<br >.ignoring(NoSuchElementException.class);

#3.2. FluentWait в Selenium 4

Selenium 4 заменил TimeUnit на Duration

1

FluentWait wait = new FluentWait(драйвер )<br>.pollingEvery(Duration.ofMillis(200))<br>.ignoring(NoSuchElementException.class)<br>.withTimeout(Duration.ofSeconds(20));

#4. Конструкторы драйверов

Несколько конструкторов драйверовустарели. Объекты Capabilities были заменены на Options.

Мы должны создать объект Options для класса Driver. мы используем.

#4.1. FirefoxDriver

FirefoxDriver Capabilities заменен на FirefoxDriver FirefoxOptions.

1

FirefoxOptions options = new FirefoxOptions();<br>options.setAcceptInsecureCerts(true);<br>Драйвер FirefoxDriver = новый FirefoxDriver(параметры);<br>driver.get(“https://www.google.com”);

# 4.2. ChromeDriver

ChromeDriver Capabilities заменен на ChromeDriver ChromeOptions.

1

ChromeOptions options = new ChromeOptions();<br>options.setAcceptInsecureCerts(true);<br>ChromeDriver driver = new ChromeDriver(options);<br>driver.get(“https://www. softwaretestingmaterial.com”);

#4.3. InternetExplorerDriver

Возможности InternetExplorerDriver заменены на InternetExplorerDriver InternetExplorerOptions.

1< td class=crayon-code><br>InternetExplorerOptions options = new InternetExplorerOptions();<br>options.setAcceptInsecureCerts(true);<br>Драйвер InternetExplorerDriver = new InternetExplorerDriver(options);<br>driver.get(“https://www.softwaretestingmaterial.com”);

#4.4. SafariDriver

SafariDriver Capabilities заменен SafariDriver SafariOptions.

1

SafariOptions options = new SafariOptions();<br>options.setAcceptInsecureCerts(true);<br>SafariDriver driver = new SafariDriver(options);<br>driver.get(“https://www. softwaretestingmaterial.com”);

#4.5. EdgeDriver

Возможности EgdeDriver заменены EdgeDriver EdgeOptions.

1

EdgeOptions options = new EdgeOptions();<br>options.setAcceptInsecureCerts(true );<br>EdgeDriver driver = new EdgeDriver(edgeOptions);<br>driver.get(“https://www.softwaretestingmaterial.com”);

Заключение

В этом руководстве мы рассмотрели новые функции Selenium 4.0, такие как стандартизация W3C, совершенно новая среда разработки Selenium, относительные локаторы, несколько вкладок/окон и другие. Мы надеемся, что Selenium 4.0 даст нам лучший опыт и возможность выполнять почти все задачи, которые не выполняются в Selenium 3.

Поделитесь своими мыслями об этих изменениях в Selenium в разделе комментариев ниже.

Обязательно к прочтению. : Учебное пособие по Selenium 4

Часто задаваемые вопросы о Selenium 4.0

Что нового в Селене?

Selenium 4 поставляется со многими новыми функциями Selen, такими как оптимизация Selenium Grid, относительные локаторы, несколько вкладок и окон, поддержка браузеров, Selenium IDE, Chrome DevTools и т. д.,

Какие текущие версия Selenium?

Последняя версия Selenium — Selenium 4.0. Альфа-версия 7, выпущенная 10 ноября 2020 г.

В чем разница между Selenium 2 и Selenium 3?

Selenium 2 — это сочетание WebdDriver+SeleniumRC, основанное на ядре Selenium.
Selenium 3 не основан на ядре Selenium, но косвенно поддерживает Selenium RC через серверный Webdriver.

< strong>В чем разница между Selenium 3 и Selenium 4?

Вот разница между Selenium 3 и Selenium 4

Как мне установить последнюю версию Selenium?

Проверьте этот пост, чтобы установить Selenium. Если вы хотите попробовать последнюю версию Selenium Alpha, перейдите по этой ссылке, чтобы установить версию Selenium Alpha.
TAG: qa

От QA genius

Adblock
detector