Pensando na vida dos automatizadores de testes, elaboramos essa publicação que trará contribuições significativas na criação dos robôs da automação.
Quando iniciamos a criação de uma automação, em algum momento precisaremos localizar, clicar, inserir um texto ou fazer uma validação, em algum ponto da tela, e será preciso endereçar/localizar dentro da página, informando o local exato do elemento.
Todo elemento tem um posicionamento dentro de um “xml” e, quando fazemos um robô, precisamos informar o endereço, para que ele saiba onde executar a ação. Cada objeto tem seu endereço.
Algumas vezes o objeto tem seu ID, classe, texto ou outro identificador, já criados, e em outras vezes não tem, para esta situação criamos os xPath, para que o robô localize e para que tenhamos certeza de que estamos buscando o elemento correto. A base da automação é este endereçamento.
O xPath pode ser utilizado em qualquer automação com base no Selenium.
No texto a seguir, apresentaremos a primeira parte de dicas de construção do xPath. Além desta, teremos mais 5 publicações e, no final, apresentaremos uma tabela contendo exemplos de criação de xPath.
Construindo localizadores com xPath
O xPath é o caminho xml que utilizamos para acessar um elemento específico dentro de uma página HTML.
Existe o caminho absoluto, através do qual definimos exatamente o caminho a ser percorrido até chegar no elemento, este caminho pode sofrer alterações caso haja o acréscimo de algum elemento novo ou no caso de sua exibição depender de alguma regra de negócios, quebrando desta forma o acesso ao elemento em uma automação, gerando assim uma falha.
Para exemplo foi utilizada a página Katalon que foi criada para testes de automação com utilização de xPath.
Ao inspecionarmos os elementos no Google Chrome, clicando com o botão da direita em cima de elementos, temos a opção Copy e no submenu a opção Copy Full xPath.
O xPath obtido é este: /html/body/header/div/a
No mesmo local de inspeção de elementos se clicarmos em Ctrl+f teremos a barra de busca por elementos do Chrome.
Ao incluir o xPath obtido, o inspetor de elementos irá iluminar o elemento localizado e, na linha do buscador, aparecerá a quantidade de elementos localizados.
Se quisermos buscar apenas pelo elemento basta colocar “//elemento”, veja no exemplo abaixo a busca por Div.
Se quisermos buscar apenas pelo elemento basta colocar “//elemento”, veja no exemplo abaixo a busca por Div.
No caso acima foram colocadas duas barras e o elemento, ele iluminou o primeiro elemento localizado bem como a informação de que é 1 of 4 e, ao clicar na seta para baixo, ele irá para o segundo elemento, uma vez que há 4 elementos div, sabemos que para acessar um div específico utilizamos um índice após o elemento, desta forma “//li[2]” que é o segundo item da lista conforme abaixo:
Neste caso em particular aparece 1 de 3 itens, isto porque existem 3 listas dentro da página e desta forma temos 3 vezes o item 2 da lista.
Busca por texto exato
Caso eu queira fazer a localização do elemento por texto, utilizamos o seguinte caminho “//*[.=’Make Appointment’]” para a busca do texto exato.
Busca por texto parcial
Para a localização de parte do texto, utilizamos o seguinte xPath: “//*[contains(text(),’Health’)]”
Até aqui você já é capaz de criar localizadores com base em texto. Nas próximas publicações você conseguirá criar localizadores com outros identificadores. Nos acompanhe e confira as próximas partes destas importantes dicas! Serão 6 partes!
Autor: Alexandre Siqueira