6 самых простых способов найти компоненты в Selenium

Опубликовано: 2022-05-19

найти компоненты в селене

Компоненты в Selenium играют важную роль при тестировании приложения или программного обеспечения; это строительный блок скриптов автоматизации Selenium. Но реальная проблема заключается в том, чтобы найти эти компоненты, когда это необходимо, на веб-странице.

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

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

Но прежде чем рассматривать различные способы поиска компонентов в Selenium, крайне важно понять, что это за компоненты и как они работают.

Компоненты в селене

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

Это практично для любого браузера и позволяет вам работать в любой важной операционной системе. Его скрипты состоят из нескольких языков программирования, таких как Python, Java, C# и т. д. Кроме того, он использует несколько других языков наряду с ними, и здесь мы будем использовать очень популярный язык Python для простоты понимания.

Selenium состоит из четырех основных элементов: Selenium IDE, Selenium RC, Selenium Web Driver и Selenium GRID.

Selenium уже некоторое время используется тестировщиками механизации по всему миру.

Давайте рассмотрим четыре основных элемента Selenium —

  • Селен IDE

Selenium IDE (также известная как интегрированная среда разработки) является одним из важнейших компонентов Selenium Suite. Это целая интегрированная среда разработки (IDE) для экспериментов с Selenium. Он применяется как дополнение Firefox, а также как расширение Chrome.

Еще один аспект Selenium IDE заключается в том, что он позволяет собирать, переписывать и отлаживать практические испытания. Ранее он был известен как Selenium Recorder. Selenium-IDE была первоначально создана Шиньей Касатани и передана проекту Selenium в 2006 году.

Раньше Selenium IDE не поддерживалась должным образом и начала существовать в 2018 году.

Записи могут быть захвачены и изменены вручную, обеспечивая помощь автозаполнения и способность быстро переключать команды. Скрипты представлены на Selenese, особом пробном языке сценариев для Selenium.

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

  • Selenium RC (пульт дистанционного управления)

Selenium Remote Control (он же RC) — это веб-сервер, состоящий из языка Java, который подтверждает команды через браузер через HTTP. RC упрощает создание компьютеризированных тестов для веб-приложений на нескольких языках программирования, обеспечивая достойную интеграцию Selenium в распространенные среды тестирования компонентов.

Программа Selenium в настоящее время предоставляет потребительские драйверы для нескольких языков, таких как PHP, Python, Ruby, .NET, Perl и Java, для упрощения тестирования диссертации. Кроме того, вы можете использовать драйвер Java с JavaScript (через движок Rhino).

Для публикации тестового HTML-теста требуется пример Selenium RC-сервера — это означает, что дока должно быть несколько для каждого прогона подобия. Тем не менее, для тестового примера Java/PHP требуется только один образец Selenium RC для бесконечной работы.

  • Селен веб-драйвер

Selenium WebDriver является наследником Selenium RC. Selenium WebDriver подчиняется командам (доставляемым в Selenese или через клиентский API) и предоставляет их браузеру. Это обеспечивается с помощью драйвера браузера для конкретного браузера, который доставляет команды в браузер и получает результаты.

Почти все драйверы браузера, безусловно, открывают и получают доступ к приложениям браузера (таким как Mozilla Firefox, Google Chrome, Internet Explorer, Safari или даже Microsoft Edge); кроме того, драйвер браузера HtmlUnit эмулирует браузер, используя безголовое приложение HtmlUnit.

Selenium WebDriver не требует уникального сервера для проведения тестов. Вместо этого WebDriver быстро открывает иллюстрацию браузера и регулирует ее. Тем не менее, вы можете использовать Selenium Grid с WebDriver для выполнения тестов в удаленных сетях.

Там, где это возможно, WebDriver использует исходные функции уровня операционной системы вместо рекомендаций JavaScript на основе браузера для запуска приложения. Это позволяет обойти проблемы с небольшими расхождениями между исходными командами и командами JavaScript, включая правила безопасности.

  • Селеновая сетка

Selenium Grid — это сервер, который позволяет проводить эксперименты с использованием образцов веб-браузеров, работающих на изолированных устройствах. Концентратор записывает серверы, которые обращаются к образцам браузера (узлы WebDriver), и позволяет тестам использовать эти образцы.

Selenium Grid позволяет проводить тесты одновременно на нескольких устройствах и централизованно управлять отдельными версиями браузера и составом браузера (а не каждым отдельным тестом).

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

6 самых простых способов найти компоненты в Selenium

Пути — это не что иное, как локаторы в Selenium; эти локаторы являются мощными командами, которые доступны для ввода и поиска элементов графического интерфейса в Selenium. Более того, вы можете использовать эти команды для выполнения нескольких пользовательских действий.

Список из 6 простых способов найти компоненты GUI в Selenium:

  • Я БЫ
  • Имя
  • Текст ссылки
  • Частичный текст ссылки
  • Название тэга
  • Имя класса

Используя указанные выше локаторы в Selenium WebDriver, вы можете находить компоненты с помощью синтаксиса «findElement/findElements».

1. Идентификационный локатор

Идентификаторы — это самый эффективный и быстрый способ поиска компонентов в Selenium. Идентификаторы — это уникальные номера для идентификации любых компонентов. Локатор ID вызывает document.getElementById() , что делает его самым быстрым вариантом локатора. Многие браузеры оптимизируют iD.

2. Локатор имен

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

3. Поиск текста ссылки

Это ситуационный вариант поиска. LinkText Locator получает доступ к ссылкам, используя их точный текст ссылки с помощью метода By.linkText() . Однако может возникнуть ситуация, когда две или более ассоциаций имеют точный текст ссылки; в этой ситуации Selenium выбирает первый соответствующий элемент со ссылкой для выполнения любого действия.

4. Частичный локатор LinkText

Это снова ситуативный вариант поиска. Partial LinkText Locator получает доступ к ссылкам, используя часть текста ссылки через метод By.partialLinkText() . Первое совпадение из всех будет доступно, если вы укажете частичный текст ссылки с несколькими совпадениями.

5. Локатор тэгов

TagName Locator является частью структуры DOM, и в этой структуре каждый элемент на веб-странице Selenium определяется с помощью тегов, таких как тег кнопки, тег ввода, тег привязки и т. д. Каждый тег имеет несколько атрибутов, таких как имя, класс значения, идентификатор. , и т.д.

6. Локатор ClassName

Когда элементы определяются с использованием атрибута класса, локатор ClassName является одним из лучших способов их обнаружения. Лучшая часть атрибутов класса заключается в том, что они не должны быть уникальными, как идентификатор.

Другие способы поиска компонентов в Selenium

Помимо шести наиболее известных способов поиска компонентов в Selenium, есть еще два способа. Эти способы не так выделяются, но эффективны в использовании.

1. XPath

Выражение XPath предоставляет надежные способы обнаружения веб-компонентов, но при этом является самым медленным среди всех локаторов. Механизмы XPath несовместимы в разных браузерах, потому что они разные в каждом браузере. Например, ваш код XPath не будет работать в IE, если вы напишете его в Chrome.

2. CSS-селектор

Если веб-компоненту не хватает идентификатора или имени, лучший способ найти их — использовать селектор CSS. По сравнению с XPath CSS быстрее и читабельнее. CSS совместим со всеми популярными браузерами и повышает производительность. CSS становится полезным, когда вы хотите протестировать наше приложение в нескольких браузерах. CSS лучше всего подходит для IE, поскольку XPath не работает в IE.

Начните автоматизированное тестирование Selenium с помощью LambdaTest

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

LambdaTest, мощная платформа облачного тестирования, поможет вам улучшить свои навыки автоматизированного тестирования. Он обеспечивает автоматическое тестирование браузера с помощью лучших инструментов автоматического тестирования, таких как Selenium, Cypress, Playwright и Puppeteer, в более чем 3000 настольных и мобильных браузерах, а также использует интегрированные инструменты разработчика для отладки, которые также помогут вам изучить передовые инструменты автоматического тестирования. У него также более 600 000 лояльных пользователей из более чем 130 стран.

Selenium с LambdaTest — единственная пара, которая вам нужна, чтобы ускорить процесс тестирования.