atesting.ru Блог Selenium 4.0 — Введение, новые функции, установка, что устарело

Selenium 4.0 — Введение, новые функции, установка, что устарело

Selenium 4.0 & ndash ; Введение, новые функции, установка, что «устарело» /> </p>
<p> В этом посте мы расскажем вам все, что вам нужно знать о Selenium 4. Мы начнем с базового введения в Selenium, новые возможности Selenium 4, разница между Selenium 3.0 и Selenium 4.0, а также следующее. </p>
<h2 id = Введение в Selenium

Selenium — один из ведущих инструментов автоматизации тестирования на рынке. Selenium впервые был запущен в 2004 году как Selenium Core. В 2007 году Selenium IDE & amp; Добавлен 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

Selenium 3 против Selenium 4

Selenium 3.0

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

Селен 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. как и установка, соединение между хабом и узлом.

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

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

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

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

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

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

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

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

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

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

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

В Selenium 4 недавно добавлено пять локаторов. :

  • выше (): Он предназначен для размещения веб-элемента непосредственно над указанным элементом
  • ниже (): Он предназначен для размещения веб-элемента непосредственно под указанным элементом.
  • < strong> toLeftOf (): Он предназначен для поиска веб-элемента, присутствующего слева от указанного элемента.
  • toRightOf (): Для определения местоположения веб-элемента присутствует справа от указанного элемента
  • near (): Он предназначен для размещения веб-элемента прибл. 50 пикселей от указанного элемента. Расстояние можно передать в качестве аргумента перегруженному методу.

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

1234567891011121314151617181920212223 //Предположим, что element1 выше element2WebElement element1; element1 = driver.findElement (By.id (& # 34; 1234 & # 34;)); String element2 = driver.findElement (withTagName (& # 34; ABC & # 34;). Ниже (element1)). getText (); System.out.println (& # 34; Элемент ниже element1 равен & # 34; + element2); //Предположим, что element0 находится выше element1WebElement element1; element1 = driver.findElement (By.id (& # 34; 1234 & # 34;)); String element0 = driver.findElement (withTagName (& # 34; ABC & # 34;). Выше (element1)). getText (); System.out.println (& # 34; Элемент над element1 равен & # 34; + element0); //Предположим, что element1 находится слева от element3WebElement element1; element1 = driver.findElement (withTagName (& # 34; ABC & # 34;). ToLeftOf (element3)). GetText (); System.out.println (& # 34 ; Слева от элемента 3: & # 34; + element1); //Предположим, что element3 находится справа от element1WebElement element3; element3 = driver.findElement (withTagName (& # 34; ABC & # 34;). ToRightOf (element1)). GetText (); System.out.println (& # 34 ; Справа от элемента 1 находится: & # 34; + element3);

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

# 4. Несколько вкладок & amp; Windows

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

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

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

Tab:

1 driver.get (https://www.google.com/); & lt; br & gt; driver.switchTo () .newWindow (WindowType.TAB); & lt; br & gt; driver.navigate () .to (https: //www .softwaretestingmaterial.com /);

Окно:

1 driver.get (https://www.google.com/); & lt; br & gt; driver.switchTo () .newWindow (WindowType.WINDOW); & lt ; br & gt; 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).
  • Средство выполнения CLI (средство выполнения на стороне Selenium) который работает на NodeJs, позволяет нам выполнять воспроизведение и параллельное выполнение в нескольких браузерах.
  • Он также предоставляет отчеты с такой информацией, как общее количество выполненных тестовых случаев со временем выполнения, нет. тестовых случаев пройдено, а нет. тестовых случаев не удалось.
  • Он позволяет пользователям работать в таких браузерах, как Firefox, Google Chrome, IE и т. д.

№7. WebElement Screenshot

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

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

1234 WebElement screenshot = driver.Findelement (By.xpath (& # 34; YourXpath & # 34;)); Файл srcFile = screenshot.getScreenshotAs (OutputType.FILE ); Файл dstFile = новый файл (& # 34; Image.png & # 34;); FileUtils.copyFile (srcFile, dstFile);

№8. Chrome DevTools

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 & ndash; Введение, новые функции, установка, что устарело

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

Как перейти с 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

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

# 2.2. clickAndHold

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

# 2.3. contextClick

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

№ 2.4. doubleClick

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

# 2.5. release

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

# 3. Беглое ожидание

Были изменены методы в fluentwait, такие как withTimeout () и pollingEvery ().

# 3.1 . Fluentwait в Selenium 3

1 FirefoxOptions options = new FirefoxOptions (); & lt; br & gt; options.setAcceptInsecureCerts (true); & lt; br & gt; FirefoxDriver driver = new FirefoxDriver (options); & lt; br & gt; driver.get (& # 34; https: //www. google.com & # 34;);

# 4.2. ChromeDriver

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

1 ChromeOptions options = new ChromeOptions (); & lt; br & gt; options.setAcceptInsecureCerts (true); & lt; br & gt; ChromeDriver driver = new ChromeDriver (options); & lt; br & gt; driver.get (& # 34; https: //www. softwaretestingmaterial.com & # 34;);

# 4.3. InternetExplorerDriver

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

1 & lt; br & gt; InternetExplorerOptions options = new InternetExplorerOptions (); & lt; br & gt; options.setAcceptInsecureCerts (true); & lt; br & gt; InternetExplorerDriver driver = new InternetExplorer; br & lt; driver.get (& # 34; https: //www.softwaretestingmaterial.com");

# 4.4. SafariDriver

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

1 SafariOptions options = new SafariOptions (); & lt; br & gt; options.setAcceptInsecureCerts (true) ; & lt; br & gt; SafariDriver driver = new SafariDriver (options); & lt; br & gt; driver.get (& # 34; https: //www.softwaretestingmaterial.com");

# 4.5. EdgeDriver

EgdeDriver Capabilities заменен на EdgeDriver EdgeOptions.

1 EdgeOptions options = new EdgeOptions (); & lt; br & gt; options.setAcceptInsecureCerts (true); & lt; br & gt; драйвер EdgeDriver = new EdgeDriver (edgeOptions); & lt; br & gt; driver.get ( & # 34; https: //www.softwaretestingmaterial.com");

Заключение

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

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

< p> Обязательно прочтите: Учебное пособие по Selenium 4

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

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

Selenium 4 поставляется с множеством новых функций селена, таких как оптимизация Selenium Grid, относительные локаторы, несколько вкладок и amp; Windows, поддержка браузеров, Selenium IDE, Chrome DevTools и т. Д.,

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

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

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

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

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

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

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

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

TAG: qa