Что такое XPath в Selenium?

Поскольку все мы знаем, что теперь, когда изменилась тенденция в индустрии программного обеспечения, объем ручного тестирования был сведен к минимуму, и большинство тестовых случаев автоматизировано, поскольку это не только повышает эффективность и точность, но и сокращает время. На рынке доступно множество программных инструментов для разработки и выполнения сценариев автоматизированного тестирования. Селен является одним из них. Selenium является открытым исходным кодом и, возможно, наиболее широко используемым пакетом для автоматизации тестирования, используемым для автоматизации тестирования. Он поддерживает различные языки, такие как Php, Java, Perl, Python и т. Д., Устанавливая драйверы определенных языков. Он также поддерживает несколько браузеров, таких как Chrome, Mozilla Firefox, IE1, Edge, браузер Opera и т. Д.

XPath расшифровывается как XML Path Language. В Selenium XPath - это не что иное, как обычный путь XML, который используется для поиска любого элемента на веб-странице с помощью выражения пути XML. Для выполнения любой операции, такой как нажатие кнопки, запись в текстовое поле, выбор любого поля и т. Д., Прежде всего, нужно найти местоположение этого веб-элемента в документе, а в Selenium Xpath помогает найти этот путь. XPath использует структуру HTML DOM, собирая путь к любому элементу на веб-странице. У него есть выражение пути, записанное вместе с некоторыми условиями. XPath - это рекомендация W3C,

Синтаксис XPath в Selenium

Ниже приведен синтаксис XPath в Selenium:

Xpath = //Tagname(@Atrribute=value)

где,

  • //: Используется для выбора текущего узла.
  • Tagname: Определяет имя тега определенного узла, например, img, div, input и т. Д.
  • @: Выбирает атрибут.
  • Атрибут: Определяет имя атрибута узла.
  • Значение: указывает значения атрибутов узла.

Различные локаторы используются в Xpath для поиска веб-элементов:

  • Id: Находит веб-элемент по идентификатору этого элемента. (Идентификатор уникален для каждого веб-элемента).
  • Имя: Находит веб-элемент по имени этого элемента.
  • Имя класса: Находит веб-элемент по имени класса этого элемента.
  • Текст ссылки: Находит веб-элемент по тексту, написанному по ссылке этого элемента.
  • Путь CSS: элементы, не имеющие имени, идентификатора, имени класса, обнаруживаются через путь CSS, созданный тестировщиками / разработчиками.

Типы XPath в Селене

В Selenium есть два основных типа XPath, которые описаны ниже:

1. Абсолютный XPath

Это один из самых простых и прямых способов найти веб-элемент в документе. Он выбирает путь к элементу из корневого узла и принимает путь до элемента, охватывающего все разделы в документе, включая div, section, li и т. Д. Он начинается с единственной косой черты «/», указывающей корневой уровень. Единственный недостаток использования Absolute Path в Selenium заключается в том, что если какие-либо изменения вносятся на веб-сайт или в документ, тогда изменяется весь XPath этого элемента и, следовательно, предыдущий путь не будет работать, и вся программа потерпит неудачу.

Пример:

html/body/div(1)/section/div/div/div/div(2)/div

Если какие-либо изменения, внесенные в документ HTML и положение элементов div, были изменены, предыдущий XPath потерпит неудачу.

2. Относительный XPath

Одним из недостатков Absolute XPath помимо модификации является слишком длинные пути, относительные пути являются спасителями в таких ситуациях. Относительный путь используется для определения пути элемента от середины структуры HTML DOM. В отличие от абсолютных XPath, нет необходимости определять путь от корневого уровня, что, в свою очередь, уменьшает общую длину XPath. Он начинается с двойной косой черты «//», т.е. выбора веб-элемента из любой точки документа.

Пример:

//input(@id = 'email')/div/li/a

Функции XPath в Selenium

Ниже приведены некоторые функции XPath, используемые в Selenium:

1. Contains (): это метод, который используется в выражении XPath и используется для определения местоположения элемента с частичным текстом в случае, когда текст для поиска имеет слишком большую длину и значение атрибута динамически изменяется при перезагрузке.

Пример:

Xpath = //*(contains(@name='inputButton'))

2. Следующий: этот метод выбирает все элементы текущего узла в структуре HTML DOM.

Пример:

Xpath=//*(@type='password')//following::input(1)

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

Пример:

Xpath=//*(text()='Introduction')//ancestor::div

Он обнаружит, что все предки текущего веб-элемента соответствуют критериям text () = 'Введение', имеющим тег div.

4. Дочерний: этот метод используется в сценариях, в которых мы хотим выбрать дочерние элементы текущего узла в документе HTML.

Пример:

Xpath=//*(@id='email')/child::div

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

Пример:

Xpath=//*(@type=button)//preceding::div

6. Follow-sibling: этот метод используется, чтобы найти братьев и сестер, которые находятся на том же уровне, что и текущий узел.

Пример:

Xpath=//*(@type=button)//following-sibling::div

7. Родитель: этот метод используется для поиска родителя текущего узла в документе HTML.

Пример:

Xpath=//*(@id='password')//parent::li

8. Self: этот метод используется, чтобы найти себя в документе HTML. Self означает только текущий узел.

Пример:

Xpath=//*(@id='email')//self::input

9. Потомок: этот метод используется для поиска потомков текущего узла в документе HTML.

Пример:

Xpath=//*(@id='email')//descendant::a

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

Пример:

Xpath=//label(starts-with(@name, 'mess_avg'))

Вывод

Выше упомянуты некоторые типы XPath и различные функции, используемые в Selenium для XPath. Эти функции облегчают работу с XPath как основной шаг для автоматизации поиска веб-элемента через XPath. Различные локаторы, такие как идентификатор, имя, путь CSS, текст ссылки, используются в XPath для поиска веб-элементов на веб-странице. Знания и различные способы поиска XPath очень важны при работе с автоматизированным тестированием с использованием Selenium или любого другого инструмента.

Рекомендуемые статьи

Это руководство к тому, что такое XPath в Selenium? Здесь мы обсуждаем основную концепцию, синтаксис, типы и функции XPath в Selenium с его примерами. Вы также можете посмотреть следующую статью, чтобы узнать больше -

  1. Топ 10 видов использования селена
  2. Как установить Selenium | меры
  3. Селен Альтернатива | Компоненты
  4. Что такое Selenium Web Driver?
  5. Что такое XPath?