comprehensive xpath tutorial xml path language
Научете всичко за XML Path Language (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 е препоръчителен език на World Wide Web Consortium (W3C).
Къде можем да използваме XPath?
XPath може да се използва както в индустрията за разработка на софтуер, така и в индустрията за тестване на софтуер.
Въпроси за интервю за тестване за автоматизация на селен и отговори за опитни
Ако сте в домейна за тестване на софтуер, тогава можете да използвате XPath за разработване на скриптове за автоматизация в Selenium, или ако сте в домейна за разработка, тогава почти всички езици за програмиране имат XPath поддръжка.
XSLT се използва предимно в домейна за преобразуване на XML съдържание и използва XPath за преобразуване. XSLT работи в тясно сътрудничество с XPath и някои други езици като XQuery и XPointer.
Видове XPath възел
По-долу са изброени различните видове XPath Node.
# 1) Възли на елементи: Това са възлите, които идват директно под основния възел. Възел на елемент може да съдържа атрибути в него. Той представлява XML маркер. Както е дадено в примера по-долу: Софтуерният тестер, Щат, Държава са възлите на елементите.
# 2) Атрибутни възли :Това определя свойството / атрибута на възела на елемента. Той може да бъде под възела на елемента, както и под главния възел. Възлите на елементите са родител на тези възли. Както е дадено в примера по-долу: „name“ е възелът на атрибута на възела на елемента (софтуерен тестер). Прекият път за обозначаване на атрибутни възли е „@“.
# 3) Текстови възли :Всички текстове, които влизат между възел на елемент, са известни като възел на текст, както е показано в примера по-долу „Делхи“, „Индия“, „Ченай“ е текстовите възли.
# 4) Коментарни възли :Това е нещо, което тестер или разработчик пише, за да обясни кода, който не се обработва от езиците за програмиране. Коментарите (някои текстове) влизат между тези отварящи и затварящи тагове:
# 5) Пространства от имена :T ”; 0j89 //// / те се използват за премахване на двусмислието между повече от един набор от имена на XML елементи. Например, в XSLT пространството от имена по подразбиране се използва като (XSL :).
# 6) Инструкции за обработка :Те съдържат инструкции, които могат да се използват в приложенията за обработка. Наличието на тези инструкции за обработка може да бъде навсякъде в документа. Те идват между тях.
# 7) Корен възел :Това дефинира най-горния възел на елемента, който съдържа всички дъщерни елементи вътре в него. Root Node няма родителски възел. В примера по-долу за XML коренният възел е “SoftwareTestersList”. За да изберем коренния възел, използваме наклонена черта, т.е. ’/’.
jar файлове, необходими за селен webdriver
Ще напишем основна 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, тогава този възел ще бъде избран, ако е false, тогава възелът няма да бъде избран.
Предикатите винаги влизат в квадратни скоби като [].
Например, softwareTester [@ name = ”T2 ″]:
Това ще избере елемента, който е посочен като атрибут със стойността на T2.
Приложения на XPath при тестване на софтуер
XPath е много полезен при тестване за автоматизация. Дори ако правите ръчно тестване, знанията за XPaths ще бъдат много полезни, за да ви помогнат да разберете какво се случва в бекенда на приложението.
каква програма отваря json файл
Ако сте на тестване за автоматизация, трябва да сте чували за Appium studio, което е един от най-добрите инструменти за автоматизация за тестване на мобилни приложения. В този инструмент има една много мощна функция, наречена Функция XPath което ви позволява да идентифицирате елементите на конкретна страница в целия скрипт за автоматизация.
Бихме искали да цитираме друг пример тук от инструмента, който почти всеки тестер на софтуер познава, т.е. Selenium. Познаването на XPath в Selenium IDE и Selenium WebDriver е задължително умение за тестерите.
XPath действа като локатор на елементи. Винаги, когато се изисква да намерите конкретен елемент на дадена страница и да извършите някакво действие над нея, трябва да споменете неговия XPath в целевата колона на скрипта на Selenium.
Както можете да видите на горното изображение, ако изберете който и да е елемент от уеб страница и го проверите, ще получите опция „Копиране на XPath“. Като пример беше взет от уеб елемент за търсене на Google през уеб браузъра Chrome и когато XPath беше копиран, както е показано на горното изображение, получихме стойността по-долу:
//*[@id='tsf']/div[2]/div[3]/center/input[1]
Сега, ако предположим, че трябва да извършим действие за щракване върху тази връзка, тогава ще трябва да предоставим команда за щракване в скрипта на Selenium и целта на командата за щракване ще бъде горният 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 писане Cheat Sheet Урок със синтаксис и примери