Що таке XPath у селені?

Як ми всі знаємо, що зараз зі зміною тенденції в Програмній індустрії, сфера ручного тестування зведена до мінімуму, а більшість тестових випадків автоматизовані, оскільки це не тільки підвищує ефективність та точність, але й скорочує час. На ринку доступно багато програмних засобів для розробки та виконання автоматизованих тестових сценаріїв. Селен - один із них. Селен є відкритим кодом і, можливо, найбільш широко застосовуваний набір тестування для автоматизації, який використовується для тестування автоматизації. Він підтримує різні мови, такі як 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)

де,

  • //: використовується для вибору поточного вузла.
  • Ім'я тегу : Вказує назву тега певного вузла, наприклад img, div, input тощо.
  • @: Вибирає атрибут.
  • Атрибут: Вказує ім'я атрибута вузла.
  • Значення: Вказує значення атрибутів вузла.

У Xpath для пошуку веб-елементів використовуються різні локатори:

  • Id: Знаходить веб-елемент за ідентифікатором цього елемента. (Ідентифікатор унікальний для кожного веб-елемента).
  • Назва: Знаходить веб-елемент за назвою цього елемента.
  • Назва класу: Знаходить веб-елемент за назвою класу цього елемента.
  • Текст посилання: Знаходить веб-елемент за текстом, написаним на посиланні цього елемента.
  • Шлях до CSS: елементи, що не мають імені, ідентифікатора, імені класу, з’ясовуються через шлях CSS, створений тестерами / розробниками.

Типи XPath у селені

В основному є два типи XPath у Selenium, які описані нижче:

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

Це один з найпростіших і найпростіших способів пошуку веб-елемента в документі. Він вибирає шлях елемента до кореневого вузла і проходить шлях, поки елемент не охоплює всі розділи в документі, включаючи div, section, li, і т. Д. Починається з однієї косої риски вперед / / із зазначенням кореневого рівня. Єдиним недоліком використання Абсолютного Шляху в Selenium є те, що якщо якісь зміни, внесені на веб-сайті чи документі, то весь XPath цього елемента зміниться, а значить, попередній шлях не працюватиме, і вся програма вийде з ладу.

Приклад:

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

Якщо будь-які зміни, внесені в документ HTML і положення елементів div, були змінені, попередній XPath вийде з ладу.

2. Відносна XPath

Одним з недоліків Absolute XPath, крім модифікації, є занадто довгі шляхи, відносні шляхи є рятівниками в таких ситуаціях. Відносний Шлях використовується для визначення шляху елемента від середини структури HTML DOM. На відміну від Absolute XPaths, не потрібно визначати шлях від кореневого рівня, що, в свою чергу, зменшує загальну довжину XPath. Він починається з подвійної косої косої лінії "//", тобто вибору веб-елемента з будь-якої точки документа.

Приклад:

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

Функції XPath у селені

Нижче наведено деякі функції XPath, що використовуються в Selenium:

1. Містить (): Це метод, який використовується в виразі 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. Проведення наступних побратимів: Цей метод використовується для пошуку братів та сестер, які знаходяться на тому ж рівні, що і поточний вузол.

Приклад:

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

7. Батько: Цей метод використовується для пошуку батьківського поточного вузла в документі HTML.

Приклад:

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

8. Самостійність: Цей метод використовується для пошуку в документі 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. Ці функції полегшують роботу з XPaths як основний крок для автоматизації розміщення веб-елемента через XPath. У XPath для розміщення веб-елементів на веб-сторінці використовуються різні локатори, такі як id, ім'я, CSS шлях, текст посилання. Знання та різні способи пошуку XPath дуже важливі при роботі з автоматичним тестуванням, використовуючи або Selenium, або будь-який інший інструмент.

Рекомендовані статті

Це посібник із питань Що таке XPath у селені? Тут ми обговорюємо основні поняття, синтаксис, типи та функції XPath у Selenium з його прикладами. Ви також можете переглянути наступну статтю, щоб дізнатися більше -

  1. 10 найкращих видів використання селену
  2. Як встановити селен | Кроки
  3. Селен Альтернативи | Компоненти
  4. Що таке веб-драйвер Selenium?
  5. Що таке XPath?