O que é XPath no Selenium?

Como todos sabemos que agora com a mudança na tendência na indústria de software, o escopo dos testes manuais foi minimizado e mais casos de teste são automatizados, pois não apenas aumenta a eficiência e a precisão, mas também reduz o tempo. Muitas ferramentas de software estão disponíveis no mercado para o desenvolvimento e execução de scripts de teste automatizados. O selênio é um deles. O Selenium é de código aberto e talvez o conjunto de testes de automação mais usado para testes de automação. Ele suporta uma variedade de linguagens como Php, Java, Perl, Python, etc., instalando os drivers de linguagens específicas. Também suporta vários navegadores como Chrome, Mozilla Firefox, IE1, Edge, Opera, etc.

XPath significa XML Path Language. No Selenium, XPath nada mais é do que um caminho XML normal usado para localizar qualquer elemento na página da Web usando a expressão do caminho XML. Para executar qualquer operação, como clicar no botão, escrever em uma caixa de texto, selecionar qualquer campo, etc., a primeira coisa é encontrar a localização desse elemento da web no documento e no Selenium, o Xpath ajuda a localizar esse caminho. XPath usa a estrutura HTML DOM ao reunir o caminho de qualquer elemento em uma página da web. Possui expressão de caminho escrita junto com algumas condições. XPath é uma recomendação do W3C,

Sintaxe do XPath no Selenium

Abaixo é apresentada a sintaxe do XPath no Selenium:

Xpath = //Tagname(@Atrribute=value)

Onde,

  • //: Usado para selecionar o nó atual.
  • Tagname: especifica o nome da tag de um nó específico, como img, div, input etc.
  • @: Seleciona o atributo.
  • Atributo: especifica o nome do atributo do nó.
  • Valor: especifica os valores dos atributos do nó.

Vários localizadores são usados ​​no Xpath para localizar os elementos da web:

  • Id: localiza o elemento da web pelo id desse elemento. (O ID é exclusivo para todos os elementos da web).
  • Nome: localiza o elemento da web pelo nome desse elemento.
  • Nome da classe: localiza o elemento da web pelo nome da classe desse elemento.
  • Texto do link: localiza o elemento da web pelo texto escrito no link desse elemento.
  • Caminho CSS: Elementos sem nome, ID e nome da classe são descobertos pelo caminho CSS criado por testadores / desenvolvedores.

Tipos de XPath no Selenium

Existem basicamente dois tipos de XPath no Selenium, que são descritos abaixo:

1. XPath absoluto

É uma das maneiras mais fáceis e diretas de localizar um elemento da web em um documento. Ele seleciona um caminho do elemento no nó raiz e segue o caminho até o elemento que cobre todas as seções de um documento, incluindo div, seção, li, etc. Ele começa com uma única barra '/' especificando o nível da raiz. A única desvantagem de usar o Caminho Absoluto no Selenium é que, se houver alguma alteração feita no site ou em um documento, todo o XPath desse elemento será alterado e, portanto, o caminho anterior não funcionará e todo o programa falhará.

Exemplo:

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

Se alguma alteração feita no documento HTML e a posição dos elementos div foram alteradas, o XPath anterior falhará.

2. XPath relativo

Uma das desvantagens do XPath absoluto, além da modificação, são os caminhos muito longos, os caminhos relativos são um salvador nessas situações. Caminho relativo é usado para definir o caminho de um elemento do meio da estrutura DOM HTML. Ao contrário dos XPaths absolutos, não é necessário definir o caminho a partir do nível raiz, o que reduz o comprimento total do XPath. Começa com a barra dupla '//', ou seja, selecionando o elemento da web de qualquer lugar do documento.

Exemplo:

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

Funções XPath no Selenium

Abaixo estão algumas das funções do XPath usadas no Selenium:

1. Contém (): é um método usado na expressão XPath e é usado para localizar o elemento com o texto parcial no caso em que o texto a ser pesquisado é muito longo e o valor do atributo muda dinamicamente ao recarregar.

Exemplo:

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

2. A seguir: Este método seleciona todos os elementos do nó atual na estrutura HTML DOM.

Exemplo:

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

3. Ancestral: Este método é usado para selecionar todos os elementos ancestrais do nó atual. O ancestral pode ser avós, pais do nó atual no documento HTML.

Exemplo:

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

Ele encontrará todos os ancestrais do elemento atual da web que correspondem aos critérios de text () = 'Introdução' com a tag div.

4. Filho: Esse método é usado nos cenários em que queremos selecionar os elementos filhos do nó atual no documento HTML.

Exemplo:

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

5. Prosseguindo: Este método é usado para selecionar todos os nós que prosseguem para o nó atual ou aqueles que vêm antes do nó atual.

Exemplo:

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

6. Seguinte irmão: Este método é usado para localizar os irmãos que estão no mesmo nível que o nó atual.

Exemplo:

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

7. Pai: Este método é usado para localizar o pai do nó atual no documento HTML.

Exemplo:

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

8. Auto: Este método é usado para se localizar no documento HTML. Auto significa apenas o nó atual.

Exemplo:

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

9. Descendente: Este método é usado para encontrar os descendentes do nó atual no documento HTML.

Exemplo:

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

10. Iniciar com: Este método é usado nos cenários em que queremos corresponder ao texto inicial dos atributos e quando precisamos localizar o elemento da Web quando o atributo muda dinamicamente ao atualizar e recarregar uma página da Web.

Exemplo:

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

Conclusão

Acima mencionados estão alguns dos tipos XPath e as várias funções usadas no Selenium for XPath. Essas funções facilitam o trabalho com o XPaths como a principal etapa para automatizar a localização do elemento da web por meio do XPath. Vários localizadores, como id, nome, caminho CSS, texto do link são usados ​​no XPath para localizar elementos da web na página da web. O conhecimento e as diferentes maneiras de encontrar o XPath são muito importantes ao trabalhar com testes de automação usando o Selenium ou qualquer outra ferramenta.

Artigos recomendados

Este é um guia para O que é XPath no Selenium ?. Aqui discutimos o conceito básico, sintaxe, tipos e funções do XPath no Selenium com seus exemplos. Você também pode consultar o seguinte artigo para saber mais -

  1. Os 10 principais usos do selênio
  2. Como instalar o selênio. Passos
  3. Alternativas de selênio | Componentes
  4. O que é o Selenium Web Driver?
  5. O que é XPath?