selenium locators identify web elements using xpath selenium
Tutorial de localizadores do Selenium: Aprenda como identificar elementos da Web usando XPath no Selenium com exemplos
No tutorial anterior , apresentamos outra ferramenta de teste de automação chamada Firebug. Também criamos nosso próprio script de automação manualmente usando o Firebug e seus recursos. Também aprendemos a afixar as modificações desejadas em nosso script.
Seguindo em frente, neste tutorial, daríamos uma olhada no vários tipos de localizadores no Selenium e sua técnica de acessibilidade para construir scripts de teste . Portanto, este tutorial é composto de uma introdução detalhada a vários tipos de localizadores.
Este é o nosso 5º tutorial no Selenium Tutorial Series.
O que é Locator?
O localizador pode ser denominado como um endereço que identifica um elemento da web exclusivamente dentro da página da web. Localizadores são as propriedades HTML de um elemento da web que informa ao Selenium sobre o elemento da web que ele precisa para executar a ação.
Existe uma grande variedade de elementos da web. Os mais comuns entre eles são:
- Caixa de texto
- Botão
- Suspenso
- Hiperlink
- Caixa de Seleção
- Botao de radio
O que você aprenderá:
- Tipos de localizadores
- Usando ID como um localizador
- Usando ClassName como um localizador
- Usando o nome como um localizador
- Usando o texto do link como um localizador
- Usando XPath como um localizador
- Conclusão
- Leitura recomendada
Tipos de localizadores
Identificar esses elementos sempre foi um assunto muito complicado e, portanto, requer uma abordagem precisa e eficaz. Dessa forma, podemos afirmar que quanto mais efetivo o localizador, mais estável será o script de automação. Essencialmente, todo comando Selenium requer localizadores para encontrar os elementos da web. Assim, para identificar esses elementos da web com precisão e precisão, temos diferentes tipos de localizadores.
Agora vamos entender melhor, exercitando cada um deles independentemente.
Antes de começarmos com os localizadores, gostaria de apresentar o aplicativo em teste. Estaríamos usando “https://accounts.google.com/” para localizar diferentes tipos de elementos da web usando diferentes tipos de localizadores.
Usando ID como um localizador
O melhor e mais popular método para identificar o elemento da web é usar ID. O ID de cada elemento é considerado único.
Neste exemplo, acessaríamos a caixa de texto “Email” presente no formulário de login em gmail.com.
Encontrar um ID de um elemento da web usando Firebug
como desenvolver um aplicativo java em eclipse
Passo 1 : Inicie o navegador da web (Firefox) e navegue até “https://accounts.google.com/”.
Passo 2 : Abra o firebug (pressionando F12 ou por meio de ferramentas).
etapa 3 : Clique no ícone inspecionar para identificar o elemento da web.
Passo 4 : Passe o mouse sobre o elemento da web (caixa de texto de e-mail no nosso caso) sobre o qual desejamos realizar alguma ação. Na seção do firebug, é possível ver as tags HTML correspondentes sendo destacadas.
Etapa 5 : Esteja ciente sobre o atributo ID e anote-o. Agora precisamos verificar se o ID identificado é capaz de encontrar o elemento de forma única e perfeita.
Sintaxe : id = id do elemento
No nosso caso, o id é “Email”.
Abordagem alternativa:
Em vez de seguir as etapas 2 a 4, podemos localizar / inspecionar diretamente o elemento da web clicando com o botão direito do mouse no elemento da web (Caixa de texto de email) cujo valor localizador precisamos inspecionar e clicando na opção “Inspecionar elemento com Firebug”. Assim, este evento de clique aciona a expansão da seção firebug e a tag HTML correspondente seria destacada.
Verifique o valor do localizador
Supondo que o navegador esteja aberto e redirecionado para “https://accounts.google.com/”.
Passo 1 : Inicie o Selenium IDE.
Passo 2 : Clique na primeira linha na seção do editor.
etapa 3 : Digite “id = Email” ou seja, o valor do localizador na caixa de destino.
Passo 4 : Clique no botão Localizar. Se o valor do localizador fornecido for legítimo, a caixa de texto E-mail será destacada em amarelo com uma borda verde fluorescente ao redor do campo. Se o valor do localizador fornecido estiver incorreto, uma mensagem de erro será impressa no painel de log na parte inferior do Selenium IDE.
Caso 1 - Valor do localizador = correto
implementação de lista duplamente vinculada em java
Caso 2 - Locator Value = Incorreto
Etapa 5 : A fim de verificar mais detalhadamente, um usuário também pode executar o comando “tipo” contra o alvo fornecido, fornecendo algum valor no campo “Valor”. Se a execução do comando inserir o valor especificado na caixa de texto Email, isso significa que o tipo de localizador identificado está correto e acessível.
Usando ClassName como um localizador
Existe apenas uma diferença sutil entre usar o ID como um localizador e usar o nome da classe como um localizador.
Neste exemplo, acessaríamos “Precisa de ajuda?” hiperlink presente na parte inferior do formulário de login em gmail.com.
Encontrar um nome de classe de um elemento da web usando Firebug
Passo 1 : Localize / inspecione o elemento da web (link “Precisa de ajuda?” No nosso caso) clicando com o botão direito no elemento da web cujo valor localizador precisamos inspecionar e clicando na opção “Inspecionar Elemento com Firebug”.
Passo 2 : Esteja ciente do atributo do nome da classe e anote-o. Agora precisamos verificar se o nome da classe identificada é capaz de encontrar o elemento de forma única e precisa.
Sintaxe: class = classname do elemento
Em nosso caso, o nome da classe é “necessidade de ajuda reversa”
Verifique o valor do localizador
Passo 1 : Digite “class = need-help-reverse” na caixa de destino no Selenium IDE.
Passo 2 : Clique no botão Localizar. Observe que o hiperlink será destacado em amarelo com uma borda verde fluorescente ao redor do campo.
(Clique para ver a imagem ampliada)
Usando o nome como um localizador
Localizar um elemento da web usando o nome é muito semelhante aos dois tipos de localizador anteriores. A única diferença está na sintaxe.
Neste exemplo, acessaríamos a caixa de texto “Senha” presente no formulário de login em gmail.com.
Sintaxe: nome = nome do elemento
No nosso caso, o nome é “Passwd”.
Verifique o valor do localizador
Passo 1 : Digite “name = Passwd” na caixa de destino e clique no botão Localizar. Observe que a caixa de texto “Senha” será destacada.
Usando o texto do link como um localizador
Todos os hiperlinks em uma página da web podem ser identificados usando o Texto do link. Os links em uma página da web podem ser determinados com a ajuda da tag âncora ( ) A marca âncora é usada para criar os hiperlinks em uma página da web e o texto entre a abertura e o fechamento das marcas âncora constitui o texto do link ( Algum texto )
Neste exemplo, acessaríamos o link “Criar uma conta” presente na parte inferior do formulário de login em gmail.com.
Encontrar um texto de link de um elemento da web usando Firebug
Passo 1 : Localize / inspecione o elemento da web (link “Criar uma conta” no nosso caso) clicando com o botão direito do mouse no elemento da web cujo valor localizador precisamos inspecionar e clicando na opção “Inspecionar Elemento com Firebug”.
Passo 2 : Esteja ciente do texto presente no marcações e tome nota disso. Portanto, este texto será usado para identificar o link em uma página da web de forma exclusiva.
(Clique para ver a imagem ampliada)
Sintaxe: link = texto do link do elemento
No nosso caso, o texto do link é “Criar uma conta”.
Verifique o valor do localizador
Passo 1 : Digite “link = Criar uma conta”, ou seja, o valor do localizador na caixa de destino do Selenium IDE.
Passo 2 : Clique no botão Localizar. Observe que o link seria destacado em amarelo com uma borda verde fluorescente ao redor do campo.
Usando XPath como um localizador
O Xpath é usado para localizar um elemento da web com base em seu caminho XML. XML significa Extensible Markup Language e é usado para armazenar, organizar e transportar dados arbitrários. Ele armazena dados em um par de valores-chave que é muito semelhante a tags HTML. Sendo ambas as linguagens de marcação e uma vez que caem no mesmo guarda-chuva, xpath pode ser usado para localizar elementos HTML.
O elemento fundamental por trás da localização de elementos usando o Xpath é percorrer entre vários elementos em toda a página e, assim, permitir que um usuário encontre um elemento com a referência de outro elemento.
O Xpath pode ser criado de duas maneiras:
Xpath Relativo
O Xpath relativo começa na localização atual e é prefixado com um “//”.
Por exemplo: // span (@ class = ’Email’)
Absolute Xpath
O Absolute Xpath começa com um caminho de raiz e é prefixado com um “/”.
Por exemplo: / HTML / body / div / div (@ id = ’Email’)
Pontos chave:
- A taxa de sucesso de encontrar um elemento usando o Xpath é muito alta. Junto com a declaração anterior, o Xpath pode encontrar relativamente todos os elementos em uma página da web. Assim, o Xpaths pode ser usado para localizar elementos sem id, classe ou nome.
- Criar um Xpath válido é um processo complicado e complicado. Existem plug-ins disponíveis para gerar o Xpath, mas na maioria das vezes, o Xpaths gerado falha em identificar o elemento da web corretamente.
- Ao criar o xpath, o usuário deve estar ciente das várias nomenclaturas e protocolos.
Exemplos de Selênio XPath:
Verificador Xpath
Criar o Xpath se torna um pouco mais simples usando o Xpath Checker. O Xpath Checker é um add-on do Firefox para gerar automaticamente o Xpath para um elemento da web. O add-on pode ser baixado e instalado como qualquer outro plug-in. O plug-in pode ser baixado de “https://addons.mozilla.org/en-US/firefox/addon/xpath-checker/”.
Assim que o plug-in é instalado, ele pode ser visto no menu de contexto clicando com o botão direito em qualquer elemento cujo xpath queremos gerar.
junção externa esquerda vs junção esquerda
Clique em “View Xpath” para ver a expressão Xpath do elemento. Uma janela do editor aparecerá com a expressão Xpath gerada. Agora o usuário tem a liberdade de editar e modificar a expressão Xpath gerada. Os resultados correspondentes seriam atualizados cumulativamente.
Observe que o XPath Checker também está disponível para outros navegadores.
Mas reiterando o fato, que na maioria das vezes, os Xpaths gerados não conseguem identificar o elemento da web corretamente. Portanto, é recomendável criar nosso próprio Xpath seguindo as regras e protocolos predefinidos.
Neste exemplo, acessaríamos a imagem “Google” presente na parte superior do formulário de login em gmail.com.
Criação de um Xpath de um elemento da web
Passo 1 : Digite “// img (@ class =’ logo ’)”, ou seja, o valor do localizador na caixa de destino dentro do IDE Selenium.
Sintaxe: Xpath do elemento
Passo 2 : Clique no botão Localizar. Observe que a imagem seria destacada em amarelo com uma borda verde fluorescente ao redor do campo.
Conclusão
Aqui estão os pontos principais deste artigo.
- Localizadores são as propriedades HTML de um elemento da web que informa ao Selenium sobre o elemento da web no qual ele precisa executar ações.
- Existe uma grande variedade de elementos da web com os quais um usuário pode ter que interagir regularmente. Alguns deles são: caixa de texto, botão, lista suspensa, hiperlink, caixa de seleção e botão de rádio.
- Com a variedade de elementos da web, surge uma vasta gama de estratégias / abordagens para localizar esses elementos da web.
- Alguns dos tipos de localizador amplamente usados são ID, ClassName, Link Text, XPath, CSS Selectors e Name.
Nota: Devido ao fato de que a criação do Seletor CSS e XPath requer muito esforço e prática, o processo só é exercido por usuários mais sofisticados e treinados.
Neste tutorial, aprendemos diferentes tipos de localizadores, incluindo Selenium Xpath.
Próximo Tutorial # 6 : Na continuação deste tutorial de tipos de localizador de Selenium, aprenderemos como usar Seletor CSS como um localizador.
Alguma dúvida? Deixe-nos saber nos comentários. Tentaremos resolver tudo.
Leitura recomendada
- Selenium Encontrar Elemento por Tutorial de Texto com Exemplos
- 30+ Melhores Tutoriais de Selênio: Aprenda Selênio com Exemplos Reais
- Como localizar elementos em navegadores Chrome e IE para criar scripts do Selenium - Tutorial do Selenium nº 7
- Manipulando tabelas, frames e elementos dinâmicos da Web no Selenium Script - Selenium Tutorial # 18
- Uso de Selenium Select Class para lidar com elementos suspensos em uma página da Web - Selenium Tutorial # 13
- Tutorial Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Como usar o seletor CSS para identificar elementos da Web para scripts do Selenium - Tutorial do Selenium nº 6
- Verifique a visibilidade dos elementos da Web usando vários tipos Comandos do WebDriver - Selenium Tutorial nº 14