Che cos'è XPath in selenio?

Come tutti sappiamo che ora con il cambiamento della tendenza nell'industria del software, l'ambito dei test manuali è stato ridotto al minimo e molti dei casi di test sono automatizzati in quanto non solo aumenta l'efficienza e l'accuratezza, ma riduce anche i tempi. Sul mercato sono disponibili molti strumenti software per lo sviluppo e l'esecuzione di script di test automatizzati. Il selenio è uno di questi. Il selenio è open-source e forse la suite di test di automazione più utilizzata per i test di automazione. Supporta una varietà di lingue come Php, Java, Perl, Python, ecc. Installando i driver di particolari lingue. Supporta anche più browser come Chrome, Mozilla Firefox, IE1, Edge, browser Opera, ecc.

XPath sta per XML Path Language. In Selenium, XPath non è altro che un normale percorso XML utilizzato per individuare qualsiasi elemento nella pagina Web utilizzando l'espressione del percorso XML. Per eseguire qualsiasi operazione come fare clic sul pulsante, scrivere in una casella di testo, selezionare qualsiasi campo, ecc. La prima cosa è trovare la posizione di quell'elemento web nel documento e in Selenium, Xpath aiuta a individuare quel percorso. XPath utilizza la struttura DOM HTML durante la raccolta del percorso di qualsiasi elemento in una pagina Web. Ha l'espressione del percorso scritta insieme ad alcune condizioni. XPath è una raccomandazione del W3C,

Sintassi di XPath nel selenio

Di seguito è riportata la sintassi di XPath nel selenio:

Xpath = //Tagname(@Atrribute=value)

dove,

  • //: utilizzato per selezionare il nodo corrente.
  • Tagname: specifica il nome del tag di un nodo particolare come img, div, input, ecc.
  • @: Seleziona l'attributo.
  • Attributo: specifica il nome dell'attributo del nodo.
  • Valore: specifica i valori degli attributi del nodo.

Diversi localizzatori sono usati in Xpath per localizzare gli elementi web:

  • Id: trova l'elemento web in base all'id di quell'elemento. (L'ID è unico per ogni elemento web).
  • Nome: trova l'elemento web in base al nome di quell'elemento.
  • Nome classe: trova l'elemento web in base al nome della classe di quell'elemento.
  • Testo collegamento: trova l'elemento web tramite il testo scritto sul collegamento di quell'elemento.
  • Percorso CSS: gli elementi senza nome, ID, nome della classe vengono rilevati attraverso il percorso CSS creato da tester / sviluppatori.

Tipi di XPath nel selenio

Ci sono fondamentalmente due tipi di XPath nel selenio che sono descritti di seguito:

1. XPath assoluto

È uno dei modi più semplici e diretti per individuare un elemento web in un documento. Seleziona un percorso di elemento dal nodo radice e prende il percorso fino a quando l'elemento che copre tutte le sezioni di un documento, inclusi div, section, li, ecc. Inizia con una singola barra "/" che specifica il livello di root. L'unico svantaggio dell'utilizzo del percorso assoluto in selenio è che se si apportano modifiche al sito Web o a un documento, l'intera XPath di quell'elemento cambia e quindi il percorso precedente non funzionerà e l'intero programma verrà interrotto.

Esempio:

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

Se le modifiche apportate al documento HTML e la posizione degli elementi div sono state modificate, XPath precedente avrà esito negativo.

2. XPath relativo

Uno degli svantaggi di Absolute XPath a parte la modifica sono i percorsi troppo lunghi, i percorsi relativi sono salvatori in tali situazioni. Percorso relativo viene utilizzato per definire il percorso di un elemento dal centro della struttura DOM HTML. A differenza di XPath Absolute, non è necessario definire il percorso dal livello radice che a sua volta riduce la lunghezza complessiva di XPath. Inizia con una doppia barra "//", ovvero selezionando l'elemento web da qualsiasi punto del documento.

Esempio:

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

Funzioni XPath in selenio

Di seguito sono riportate alcune delle funzioni di XPath utilizzate nel selenio:

1. Contains (): è un metodo utilizzato nell'espressione XPath e viene utilizzato per localizzare l'elemento con il testo parziale nel caso in cui il testo da cercare sia troppo lungo e il valore dell'attributo cambi dinamicamente al ricaricamento.

Esempio:

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

2. Seguente: questo metodo seleziona tutti gli elementi del nodo corrente nella struttura DOM HTML.

Esempio:

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

3. Antenato: questo metodo viene utilizzato per selezionare tutti gli elementi antenati dal nodo corrente. L'antenato può essere nonno, genitore dell'attuale nodo nel documento HTML.

Esempio:

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

Troverà che tutti gli antenati dell'elemento web corrente corrispondono ai criteri di text () = 'Introduzione' con il tag div.

4. Figlio: questo metodo viene utilizzato negli scenari in cui vogliamo selezionare gli elementi figlio del nodo corrente nel documento HTML.

Esempio:

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

5. Procedimento: questo metodo viene utilizzato per selezionare tutti i nodi che procedono al nodo corrente o quelli che precedono il nodo corrente.

Esempio:

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

6. Fratello seguente: questo metodo viene utilizzato per localizzare i fratelli allo stesso livello del nodo corrente.

Esempio:

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

7. Parent: questo metodo viene utilizzato per individuare il parent del nodo corrente nel documento HTML.

Esempio:

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

8. Self: questo metodo viene utilizzato per localizzarsi nel documento HTML. Auto indica solo il nodo corrente.

Esempio:

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

9. Discendente: questo metodo viene utilizzato per trovare i discendenti del nodo corrente nel documento HTML.

Esempio:

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

10. Inizia con: questo metodo viene utilizzato negli scenari quando vogliamo abbinare il testo iniziale degli attributi e quando dobbiamo localizzare l'elemento web quando l'attributo cambia dinamicamente durante l'aggiornamento e ricaricare una pagina web.

Esempio:

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

Conclusione

Sopra menzionati sono alcuni dei tipi di XPath e le varie funzioni utilizzate in Selenium per XPath. Queste funzioni semplificano l'utilizzo di XPath come primo passo per automatizzare l'individuazione dell'elemento web tramite XPath. Diversi localizzatori come ID, nome, percorso CSS, testo del collegamento vengono utilizzati in XPath per individuare gli elementi Web nella pagina Web. La conoscenza e i diversi modi di trovare XPath sono molto importanti quando si lavora con i test di automazione utilizzando Selenium o qualsiasi altro strumento.

Articoli consigliati

Questa è una guida a Cos'è XPath in Selenium ?. Qui discutiamo il concetto di base, la sintassi, i tipi e le funzioni di XPath in Selenium con i suoi esempi. Puoi anche leggere il seguente articolo per saperne di più -

  1. Primi 10 usi del selenio
  2. Come installare Selenium | passi
  3. Alternative al selenio | componenti
  4. Che cos'è Selenium Web Driver?
  5. Che cos'è XPath?

Categoria: