Vad är XPath i Selenium?

Som vi alla vet att nu med förändringen i trenden inom mjukvaruindustrin har omfattningen av manuell testning minimerats och fler av testfallen automatiseras eftersom det inte bara ökar effektiviteten och noggrannheten utan också minskar tiden. Många mjukvaruverktyg finns tillgängliga på marknaden för utveckling och genomförande av automatiserade testskript. Selen är en av dem. Selen är öppen källkod, och kanske den mest använda automatiseringstestsviten som används för automatiseringstest. Det stöder olika språk som Php, Java, Perl, Python etc. genom att installera drivrutinerna för vissa språk. Det stöder också flera webbläsare som Chrome, Mozilla Firefox, IE1, Edge, Opera-webbläsare, etc.

XPath står för XML Path Language. I Selenium är XPath inget annat än en normal XML-sökväg som används för att hitta något element på webbsidan med XML-sökvägsuttryck. För att utföra någon åtgärd som att klicka på knappen, skriva i en textlåda, välja valfritt fält osv. Är det första att hitta platsen för det webbelementet i dokumentet och i Selenium hjälper Xpath att hitta den sökvägen. XPath använder HTML DOM-strukturen medan du samlar sökvägen för alla element på en webbsida. Den har sökvägsuttryck skriven tillsammans med vissa villkor. XPath är en W3C-rekommendation,

Syntax för XPath i Selenium

Nedan ges Syntax för XPath i Selenium:

Xpath = //Tagname(@Atrribute=value)

var,

  • //: Används för att välja aktuell nod.
  • Tagname: Anger etiketten för en viss nod som img, div, input etc.
  • @: Väljer attributet.
  • Attribut: Anger nodens attributnamn.
  • Värde: Anger värden på noderens attribut.

Olika Locators används i Xpath för att hitta webbelement:

  • Id: Hitta webbelementet efter det elementets id. (Id är unik för varje webbelement).
  • Namn: Hitta webbelementet med namnet på det elementet.
  • Klassnamn: Hitta webbelementet efter klassens namn på det elementet.
  • Länktext: Hitta webbelementet efter den text som skrivs på länken till det elementet.
  • CSS-sökväg: Element som saknar namn, id, klassnamn hittar du genom CSS-banan som skapats av testare / utvecklare.

Typer av XPath i selen

Det finns i princip två typer av XPath i Selenium som beskrivs nedan:

1. Absolut XPath

Det är ett av de enklaste och direkta sätten att hitta ett webbelement i ett dokument. Den väljer en elementväg från rotnoden och tar vägen tills elementet som täcker alla sektioner i ett dokument inklusive div, sektion, li, etc. Det börjar med en enda framåt snedstreck '/' som anger rotnivån. Den enda nackdelen med att använda Absolute Path i Selenium är att om några ändringar görs på webbplatsen eller ett dokument så ändras hela XPath för det elementet och därmed kommer den tidigare banan inte att fungera och hela programmet kommer att misslyckas.

Exempel:

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

Om några ändringar gjorts i HTML-dokumentet och positionen för div-element har ändrats kommer den tidigare XPath att misslyckas.

2. Relativ XPath

En av nackdelarna med Absolute XPath förutom modifiering är för långa vägar, relativa vägar är en räddare i sådana situationer. Relativ sökväg används för att definiera sökvägen för ett element från mitten av HTML DOM-strukturen. Till skillnad från Absolute XPaths är det inte nödvändigt att definiera sökvägen från rotnivån vilket i sin tur minskar XPaths totala längd. Det börjar med dubbelt snedstreck '//', dvs att välja webbelement var som helst i dokumentet.

Exempel:

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

XPath-funktioner i selen

Nedan ges några av funktionerna för XPath som används i Selenium:

1. Innehåller (): Det är en metod som används i XPath-uttryck och används för att lokalisera elementet med den delvisa texten i det fall texten som ska sökas har för lång och attributets värde ändras dynamiskt vid laddning.

Exempel:

Xpath = //*(contains(@name='inputButton'))

2. Följande: Den här metoden väljer alla element i den aktuella noden i HTML DOM-strukturen.

Exempel:

Xpath=//*(@type='password')//following::input(1)

3. Ancestor: Den här metoden används för att välja alla förfäderelement från den aktuella noden. Fadern kan vara morföräldrar, föräldrar till den nuvarande noden i HTML-dokumentet.

Exempel:

Xpath=//*(text()='Introduction')//ancestor::div

Den hittar att alla förfäder till det aktuella webbelementet matchar kriterierna för text () = 'Introduktion' med div-taggen.

4. Barn: Den här metoden används i scenarierna där vi vill välja underordnade element i den aktuella noden i HTML-dokumentet.

Exempel:

Xpath=//*(@id='email')/child::div

5. Fortsätter: Denna metod används för att välja alla noder som går till den aktuella noden eller de som kommer före den aktuella noden.

Exempel:

Xpath=//*(@type=button)//preceding::div

6. Följande syskon: Denna metod används för att hitta syskon som är på samma nivå som den nuvarande noden.

Exempel:

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

7. Förälder: Den här metoden används för att hitta överordnade till den aktuella noden i HTML-dokumentet.

Exempel:

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

8. Själv: Den här metoden används för att lokalisera sig själv i HTML-dokumentet. Själv anger endast den aktuella noden.

Exempel:

Xpath=//*(@id='email')//self::input

9. Descendant: Den här metoden används för att hitta ättlingar till den aktuella noden i HTML-dokumentet.

Exempel:

Xpath=//*(@id='email')//descendant::a

10. Börja med: Den här metoden används i scenarierna när vi vill matcha starttexten för attributen och när vi behöver lokalisera webbelementet när attributet förändras dynamiskt när vi uppdaterar och laddar om en webbsida.

Exempel:

Xpath=//label(starts-with(@name, 'mess_avg'))

Slutsats

Ovan nämns är några av XPath-typerna och de olika funktionerna som används i Selenium för XPath. Dessa funktioner gör det enkelt att arbeta med XPaths som det främsta steget för att automatisera lokalisera webbelementet genom XPath. Olika lokaliserare som id, namn, CSS-sökväg, länktext används i XPath för att hitta webbelement på webbsidan. Kunskap och olika sätt att hitta XPath är mycket viktiga när man arbetar med automatiseringstest med antingen Selenium eller något annat verktyg.

Rekommenderade artiklar

Detta är en guide till Vad är XPath i Selenium ?. Här diskuterar vi det grundläggande konceptet, syntax, typer och funktioner för XPath i Selenium med dess exempel. Du kan också titta på följande artikel för att lära dig mer -

  1. Topp 10 användningar av selen
  2. Hur man installerar selen | Steg
  3. Selen Alternatives | Komponenter
  4. Vad är Selenium Web Driver?
  5. Vad är XPath?

Kategori: