comprehensive xpath tutorial xml path language
Дізнайтеся все про мову шляху XML (XPath) на прикладах. Цей підручник з XPath охоплює використання та типи операторів XPath, XPath, сокири та програми в тестуванні:
Термін XPath означає XML Path Language. Це мова запитів, що використовується для вибору різних вузлів у документі XML.
Оскільки SQL використовується як мова запитів для різних баз даних ( Наприклад, SQL може використовуватися в базі даних, як MySQL, Oracle, DB2 тощо), XPath також може використовуватися для різних мов та інструментів ( Наприклад, мови, такі як XSLT, XQuery, XLink, XPointer тощо, та інструменти, такі як MarkLogic, засоби тестування програмного забезпечення, такі як Selenium тощо)
Що ви дізнаєтесь:
XPath - огляд
Xpath - це в основному мова для навігації по XML-документах, і, обговорюючи навігацію, це означає переміщення в XML-документі в будь-якому напрямку, перехід до будь-якого елемента або будь-якого атрибута та текстового вузла. XPath - рекомендована мова Консорціуму всесвітньої павутини (W3C).
Де ми можемо використовувати XPath?
XPath можна використовувати як у галузі розробки програмного забезпечення, так і в галузі тестування програмного забезпечення.
великі дані як сервісні компанії
Якщо ви перебуваєте в домені тестування програмного забезпечення, ви можете використовувати XPath для розробки сценаріїв автоматизації в Selenium, або якщо ви перебуваєте в домені розробки, то майже всі мови програмування мають підтримку XPath.
XSLT переважно використовується в домені перетворення вмісту XML і використовує XPath для перетворення. XSLT тісно співпрацює з XPath та деякими іншими мовами, такими як XQuery та XPointer.
Типи вузла XPath
Нижче перераховані різні типи вузла XPath.
# 1) Вузли елементів: Це вузли, які потрапляють безпосередньо під кореневий вузол. Вузол елемента може містити в ньому атрибути. Він представляє XML-тег. Як наведено в наведеному нижче прикладі: Тестер програмного забезпечення, штат, країна є вузлами елементів.
# 2) Вузли атрибутів :Це визначає властивість / атрибут вузла елемента. Це може бути як вузол елемента, так і кореневий вузол. Вузли елементів є батьківськими для цих вузлів. Як наведено в наведеному нижче прикладі: “name” - це вузол атрибута вузла елемента (тестер програмного забезпечення). Ярлик для позначення вузлів атрибутів - «@».
# 3) Текстові вузли :Всі тексти, що входять між вузлами елементів, відомі як текстові вузли, як у наведеному нижче прикладі 'Делі', 'Індія', 'Ченнаї' - це текстові вузли.
# 4) Вузли коментарів :Це те, що тестер або розробник пише для пояснення коду, який не обробляється мовами програмування. Коментарі (деякий текст) є між цими тегами, що відкривають і закривають:
# 5) Простори імен :T ”; 0j89 //// / вони використовуються для усунення двозначності між кількома наборами імен елементів XML. Наприклад, у XSLT простір імен за замовчуванням використовується як (XSL :).
# 6) Інструкції з обробки :Вони містять інструкції, які можуть бути використані в додатках для обробки. Наявність цих інструкцій з обробки може бути де завгодно в документі. Вони приходять між ними.
# 7) Кореневий вузол :Це визначає верхній вузол елемента, який містить усі дочірні елементи всередині нього. Кореневий вузол не має батьківського вузла. У наведеному нижче прикладі XML кореневим вузлом є “SoftwareTestersList”. Для вибору кореневого вузла ми використовуємо косу риску, тобто '/'.
найкраще програмне забезпечення для видалення шкідливого та шпигунського програмного забезпечення
Для пояснення згаданих термінів ми напишемо базову програму XML.
Delhi India chennai India
Атомні значення : Усі ті вузли, які не мають ні дочірніх, ні батьківських вузлів, відомі як атомні значення.
Контекстний вузол : Це конкретний вузол у документі XML, на якому обчислюються вирази. Його також можна розглядати як поточний вузол і скорочувати з одним періодом (.).
Розмір контексту : Це кількість дочірніх батьків батьківського вузла контексту. Наприклад, якщо Контекстний вузол є одним з п'ятих дочірніх батьків батьків, тоді Контекстний розмір - п'ять.
Абсолютний Xpath: Це вираз XPath у документі XML, який починається з кореневого вузла або з / /, Наприклад, / SoftwareTestersList / softwareTester / @ name = ”T1 ″
Відносний XPath: Якщо вираз XPath починається з вибраного контекстного вузла, то це вважається відносним XPath. Наприклад, якщо тестером програмного забезпечення є вибраний на даний момент вузол, тоді / @ name = ”T1” розглядається як відносний XPath.
Осі в XPath
- Самоось : Виберіть контекстний вузол. Вираз XPath self :: * та. еквівалентні. Це скорочено одним періодом (.)
- Дочірня вісь : Виберіть дочірні елементи Контекстного вузла. Елементи, коментарі, текстові вузли та інструкція обробки розглядаються як дочірній елемент контекстного вузла. Вузол простору імен і вузол атрибута не розглядаються як дочірня вісь Вузлу вмісту. Наприклад, дитина :: тестер програмного забезпечення.
- Батьківська вісь : Виберіть батьківський вузол контексту (якщо вузлом контексту є кореневий вузол, то батьківська вісь призведе до порожнього вузла.) Ця вісь скорочується подвійним крапкою (...). Вирази (parent :: State) і (../State) еквівалентні. Якщо у контекстному вузлі немає елемента як батьківського, тоді цей вираз XPath призведе до порожнього вузла.
- Вісь атрибута : Виберіть атрибут контекстного вузла. Ця вісь атрибута скорочена знаком at (@). Якщо контекстний вузол не є вузлом елемента, то це призведе до порожнього вузла. Вираз (attribute :: name) та (@name) еквівалентні.
- Вісь предків : Виберіть батьківський елемент контекстного вузла, а це батьківський батько тощо. Ця вісь містить кореневий вузол, якщо сам контекстний вузол не є кореневим вузлом.
- Предок або я: Виберіть контекстний вузол з його батьківським, батьківським і так далі, і завжди буде вибирати кореневий вузол.
- Нащадкова вісь : Виберіть усіх дочірніх елементів контекстного вузла, дітей їхніх дітей тощо. Дітями контекстного вузла можуть бути елементи, коментарі, інструкції з обробки та текстові вузли. Вузол простору імен та вузол атрибутів не розглядаються під віссю нащадка.
- Нащадок-або-я : Виберіть контекстний вузол та всі дочірні елементи контекстного вузла, а також усі дочірні елементи дочірнього вузла контекстного вузла тощо. Як і у вищевказаних випадках, враховуються коментарі, інструкції з обробки та текстові вузли, а простори імен та вузли атрибутів не розглядаються під дочірніми елементами контекстного вузла.
- Попередня вісь : Виберіть усі вузли, що стоять перед контекстним вузлом у всьому документі, який розглядається як попередня вісь. Простір імен, предки та вузол атрибутів не розглядаються як попередня вісь.
- Попередня братова вісь : Виберіть усі попередні брати та сестри контекстного вузла. Усі вузли, що з'являються перед вузлом контексту, а також мають однакові батьківські дані, як і вузол контексту в документі XML. Попередній-брат буде призводити до порожнього, якщо вузол контексту є простором імен або атрибутом.
- Наступна вісь : Виберіть усі вузли, які йдуть після контекстного вузла в документі XML. Простір імен, атрибут та нащадки не розглядаються в цьому наступному списку осей.
- Вісь, що слідує за братом : Виберіть усі наступні брати та сестри контекстного вузла. Усі вузли, які йдуть після контекстного вузла, а також мають той самий батьківський елемент, що і вузол контексту в документі XML, розглядаються як вісь наступного брата. Це призведе до порожнього набору вузлів, якщо контекстним вузлом є простір імен або вузол атрибута.
- Простір імен : Виберіть вузли простору імен контекстного вузла. Це призведе до порожнього, якщо контекстний вузол не є вузлом елемента.
Типи даних у XPath
Нижче наведено різні типи даних у XPath.
- Кількість: Числа в XPath представляють число з плаваючою комою і реалізуються як числа з плаваючою комою IEEE 754. Цілий тип даних не враховується в XPath.
- Логічне: Це представляє або істину, або помилку.
- Рядок: Це представляє нуль або більше символів.
- Набір вузлів: Це являє собою набір з нуля або більше вузлів.
Узагальнюючі символи в XPath
Нижче наведено підстановочні знаки в XPath.
- Зірочка (*) : Буде виділено всі вузли елементів контекстного вузла. Він вибере текстові вузли, коментарі, інструкції з обробки та вузол атрибутів.
- Знак зірочкою (@ *) : Вибере всі вузли атрибутів контекстного вузла.
- Вузол () : Буде вибрано всі вузли контекстного вузла. Вони вибирають простори імен, текст, атрибути, елементи, коментарі та інструкції з обробки.
Оператори XPath
Примітка: У таблиці нижче e означає будь-який вираз XPath.
Оператори | Опис | Приклад |
---|---|---|
e1! = e2 | Не рівні | @name! = 'T1' |
e1 + e2 | Додавання (якщо e1 та e2 - числа) | 5 + 2 |
e1 - e2 | Віднімання (якщо e1 та e2 - числа) | 10 - 4 |
e1 * e2 | Множення (якщо e1 та e2 - числа) | 3. 4 |
e1 div e2 | Ділення (якщо e1 та e2 - числа, а результат буде у значенні з плаваючою точкою) | 4 розділ 2 |
e1 | e2 | об'єднання двох вузлів, які відповідають e1 та e2. | // Держава | // країна |
e1 = e2 | Дорівнює | @name = 'T1' |
e1Тест e1 менше, ніж e2 (знак менше, ніж ‘<’ must be excaped by ‘<’) | тест = ”5<9” will result true(). | |
e1> e2 | Перевірка e1 перевищує e2 (знак «>» повинен бути перевищений «>») | test = ”5> 9” призведе до false (). |
e1<= e2 | Тест e1 менше або дорівнює e2. | тест = ”5<= 9” will result false(). |
e1> = e2 | Випробування e1 більше або дорівнює e2. | test = ”5> = 9” призведе до false (). |
e1 або e2 | Обчислюється, якщо значення є або e1, або e2. | |
e1 та e2 | Оцінюється, якщо і e1, і e2 відповідають дійсності. | |
e1 mod e2 | Повертає залишок e1 із плаваючою точкою, поділений на e2. | 7 мод 2 |
Предикати в XPath
Предикати використовуються як фільтри, що обмежують вузли, вибрані виразом XPath. Кожен предикат перетворюється на булеве значення або true, або false, якщо воно є істинним для даного XPath, тоді цей вузол буде вибраний, якщо він хибний, то вузол не буде обраний.
Предикати завжди входять у квадратні дужки, як ().
Наприклад, тестер програмного забезпечення (@ name = ”T2 ″):
Це вибере елемент, який був названий як атрибут зі значенням T2.
Застосування XPath у тестуванні програмного забезпечення
XPath дуже корисний при тестуванні автоматизації. Навіть якщо ви проводите тестування вручну, знання XPaths буде дуже корисним, щоб допомогти вам зрозуміти, що відбувається на серверній частині програми.
найкращий завантажувач mp3-плеєрів для android
Якщо ви перебуваєте на тестуванні з автоматизації, ви, напевно, чули про студію Appium, яка є одним з найкращих інструментів автоматизації для тестування мобільних додатків. У цьому інструменті є одна дуже потужна функція, яка називається Функція XPath що дозволяє ідентифікувати елементи певної сторінки у всьому сценарії автоматизації.
Ми хотіли б навести тут ще один приклад із інструменту, який знає майже кожен тестер програмного забезпечення, тобто Селен. Знання XPath в Selenium IDE та Selenium WebDriver - це обов’язкова навичка тестувальників.
XPath діє як локатор елементів. Кожного разу, коли від вас вимагається знайти певний елемент на сторінці та виконати якусь дію над нею, вам потрібно вказати його XPath у цільовому стовпці сценарію Selenium.
Як ви можете бачити на зображенні вище, якщо ви виберете будь-який елемент веб-сторінки та оглянете його, ви отримаєте опцію «Копіювати XPath». Як приклад було взято з веб-елемента пошуку Google через веб-браузер Chrome, і коли XPath було скопійовано, як показано на малюнку вище, ми отримали наступне значення:
//*(@id='tsf')/div(2)/div(3)/center/input(1)
Тепер, якщо припустимо, що нам потрібно виконати дію клацання за цим посиланням, тоді нам доведеться надати команду click у сценарії Selenium, і ціллю команди click буде вказаний вище XPath. Використання XPath обмежується не лише двома згаданими вище інструментами. Існує багато областей та інструментів тестування програмного забезпечення, в яких використовується XPath.
Ми сподіваємось, ви отримали чесне уявлення про важливість XPath у галузі тестування програмного забезпечення.
Висновок
У цьому підручнику ми дізналися про XPath, як використовувати вираз XPath, підтримку виразу XPath різними мовами та інструментами. Ми дізналися, що XPath можна використовувати в будь-якій області розробки програмного забезпечення та тестування програмного забезпечення.
Ми також вивчили різні типи даних XPath, різні осі, що використовуються в XPath, разом із їх використанням, типи вузлів, що використовуються в XPath, різні оператори та предикати в XPath, різницю між відносним та абсолютним XPath, різні символи підстановки, що використовуються в XPath тощо.
Щасливого читання !!
Рекомендована література
- Простий підхід до тестування баз даних XML
- Чудовий спосіб тестування даних із використанням технологій XML (довідковий документ)
- Твердження в SOAtest на прикладі коду XML
- Підручник з QTP №16 - Кроки для вставки контрольних точок XML, доступності та бази даних
- Найпопулярніші 45 запитань та відповідей на XML-інтерв’ю на 2021 рік (ОСТАННІЙ)
- Різниця між SQL Vs MySQL Vs SQL Server (з прикладами)
- Приклад TestNG: Як створити та використовувати файл TestNG.xml
- Кінцевий підручник з написання шпаргалок XPath із синтаксисом та прикладами