Expressão regular e XPath

De MSTECH wiki
Revisão de 13h43min de 12 de dezembro de 2016 por Andre.iguera (Discussão | contribs) (Criou página com '==XPath== ===Introdução=== O XPath é uma linguagem de consulta, semelhante a expressão regular, para pesquisa em documentos com estrutura XML (como HTML por exemplo). É...')

(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

XPath

Introdução

O XPath é uma linguagem de consulta, semelhante a expressão regular, para pesquisa em documentos com estrutura XML (como HTML por exemplo). É um recurso extremamente útil e muito utilizado durante a criação de scripts de testes de software em plataforma web.

Softwares de automação de testes são utilizados para simular a ação de usuários reais através de interações diretas com a aplicação sob teste. Para isso, é necessário que os elementos contidos na aplicação sejam identificados pela ferramentas de automação de testes, para que então, ações (cliques, digitação, etc) sejam executadas sobre eles.

Identificando elementos

Exemplo:

 1 <html>
 2    <body>
 3       <table>
 4          <tr>
 5             <th>Ação</th>
 6             <th>Nome</th>
 7          </tr>
 8          <tr>
 9             <td><input type=“button” value=“Promover” id=“btnPromover" /></td>
10             <td>Cristiano Caetano</td>
11          </tr> 
12          <tr>
13              <td><input type=“button” value=“Promover” /></td>
14              <td>Elias Nogueira</td>
15          </tr>
16          <tr>
17              <td><input type=“button” value=“Promover” /></td>
18              <td>Júlio de Lima</td>
19          </tr>    
20       </table>
21    </body>
22 </html>

Tradicionalmente, existem duas formas (que oferecem menos risco), de identificar um elemento contido em um documento, são elas: baseado na árvore do elemento e baseado nas propriedades do elemento.

Baseado na árvore do elemento

Onde eu mostro para a ferramenta de automação toda a árvore do elemento:

Ação Identificação do elemento XPath
Clicar Documento HTML > Corpo > Tabela > 2a Linha > 1a Coluna > Botão Promover /html/body/table/tr[2]/td[1]/input


Baseado nas propriedades do elemento

Onde eu mostro para a ferramenta de automação propriedade(s) que destacam o elemento dos demais:

Ação Identificação do elemento XPath
Clicar Valor: “Promover”, Tipo: “button”, Id: “btnPromover” //input[@id=“btnPromover”]

É mais simples e seguro identificar elementos que possuem propriedades que o tornam únicos.

Elementos

Símbolo Descrição Exemplo
/ Pesquisa a partir da raiz da árvore /html/body/table (Encontra todas as tabelas contidas dentro da tag "body", que está dentro da tag “html")
// Pesquisa em toda a árvore //input[1] (Encontra o primeiro elemento “input”, pesquisando em toda a árvore)
[ ] Definição das propriedades de um elemento //table/tr/td[1] (Encontra o primeiro elemento “td” contido nas tags “tr” das tags “table”, pesquisando em toda a árvore)
@ Propriedade do elemento //*[@id=“btnPromover”] (Encontra um elemento que tenha a propriedade “id”, e que esta seja igual a “btnPromover", pesquisando em toda a árvore)
* Todos os elementos //table/* (Encontra todos os elementos contidos nas tags “table", pesquisando em toda a árvore)

Referências