Какво е 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)
където,
- //: Използва се за избор на текущия възел.
- Име на таг : Указва името на тага на конкретен възел като img, div, input и т.н.
- @: Избира атрибута.
- Attribute: Указва името на атрибута на възела.
- Стойност: Указва стойностите на атрибутите на възела.
В Xpath се използват различни локатори за локализиране на уеб елементите:
- Id: Намира уеб елемента чрез идентификатора на този елемент. (Id е уникален за всеки уеб елемент).
- Име: Намира уеб елемента чрез името на този елемент.
- Име на клас: Намира уеб елемента чрез името на класа на този елемент.
- Текст на връзката: Намира уеб елемента чрез текста, написан на връзката на този елемент.
- CSS път: Елементите, които нямат име, идентификатор, име на клас, се намират чрез CSS пътя, създаден от тестери / разработчици.
Видове XPath в Selenium
По принцип има два типа XPath в Selenium, които са описани по-долу:
1. Абсолютен XPath
Това е един от най-лесните и директни начини за намиране на уеб елемент в документ. Той избира пътя на елемента от коренния възел и поема пътя, докато елементът покрива всички секции в документ, включително div, секция, 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 функции в Selenium
По-долу са дадени някои от функциите на 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 tag.
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. Self: Този метод се използва за локализиране в HTML документа. Self означава само текущия възел.
Пример:
Xpath=//*(@id='email')//self::input
9. Descendant: Този метод се използва за намиране на потомците на текущия възел в 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 в Selenium ?. Тук обсъждаме основната концепция, синтаксис, типове и функции на XPath в Selenium с неговите примери. Можете също да разгледате следната статия, за да научите повече -
- Топ 10 употреби на селен
- Как да инсталирате Selenium | стъпки
- Селен Алтернативи | елементи
- Какво е уеб драйвер на Selenium?
- Какво е XPath?