Какво е 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 с неговите примери. Можете също да разгледате следната статия, за да научите повече -

  1. Топ 10 употреби на селен
  2. Как да инсталирате Selenium | стъпки
  3. Селен Алтернативи | елементи
  4. Какво е уеб драйвер на Selenium?
  5. Какво е XPath?