Post

1 Star2 Stars3 Stars4 Stars5 Stars

Vamos entender um pouquinho sobre XPath

Você precisa fornecer qualquer elemento localizador(como id, nome, caminho css, XPath, etc) na coluna de destino do selenium, para localizar esse elemento específico e executar alguma ação. Se você conhece Selenium IDE, então você sabe que às vezes não contém elementos de identificação ou nome assim o seu teste para ali. O XPath é uma outra maneira de localizar o elemento e você pode usá-lo como uma alternativa de identificação ou nome do elemento.

XPath no documento XML mostra a direção do local do elemento através de nós e atributos. Vamos tentar entender como identificar XPath do elemento com exemplos.

A imagem acima é tirada de http://www.wikipedia.org/.

Olhe para a imagem, existem três campos

Caixa de texto Input
selecionar cair para baixo
botão de entrada.

E abaixo desses campos há expansão de nós XML relativas através firebug. Como você vê na imagem, você pode usar “id = searchInput” ou “name = search” para identificar a caixa de entrada de texto para digitar algo nele como exemplo dado abaixo.

New Test

Command
Target
Value

open
http://www.wikipedia.org/

type
id=searchInput
ID Example

Ou

New Test

Command
Target
Value

open
http://www.wikipedia.org/

type
name=search
Name Example

Tutorial XPath

Agora, se você quer identificar o mesmo elemento (caixa de texto de entrada) com XPath, então você pode usar qualquer uma sintaxe abaixo dada para a coluna de destino com o comando tipo no exemplo acima.

Localizando elemento usando XPath com exemplos caixa de texto de entrada para

1. Identificar XPath usando caminhocompleto do XML
xpath://body/div[3]/form/fieldset/input[2]/ / / /
Aqui = / / body é o nó raiz principal, / div [3] descreve a terceira div nó filho do nó pai corpo, / form descreve a form nó filho do nó pai div [3] / fieldset descreve o fieldset nó filho de form nó pai, / input [2]descreve a entrada do segundo nó filho do nó pai fieldset.

New Test

Command
Target
Value

open
http://www.wikipedia.org/

type
xpath://body/div[3]/form/fieldset/input[2]
Xpath Example1

2. EscritaXPath usando last()
xpath://body/div[3]/form/fieldset/input[last()-2] / / / /
Aqui = / input [last () -2] descreve o nó de entrada superior 3 (entrada [2]) a partir de último nó de entrada.
xpath://body/div[3]/form/fieldset/*[last()-3] / / / /
Aqui / * [last () -3] descreve o quarto nó superior(entrada [2]) da última nó.

New Test

Command
Target
Value

open
http://www.wikipedia.org/

type
xpath://body/div[3]/form/fieldset/input[last()-2]
Xpath Example2

3.Localizador XPath usando @ e atributo
XPath= / / body / div [3] / form / fieldset / input [@ type = ‘pesquisar’] // / /
Aqui / input [@ type =’pesquisar’] descreve o nó de entrada com atributo type = ‘pesquisar’

New Test

Command
Target
Value

open
http://www.wikipedia.org/

type
xpath://body/div[3]/form/fieldset/input[@type=’search’]
Xpath Example3

4.Expressão XPath usando @ e atributo
XPath= / / corpo / div [3] / form / fieldset / input [@ accesskey = ‘F’] // / /
Aqui / input [@ accesskey = ‘F’] descreve o nó com atributo de entrada @accesskey = ‘F ‘.

New Test

Command
Target
Value

open
http://www.wikipedia.org/

type
xpath://body/div[3]/form/fieldset/input[@accesskey=’F’]
Xpath Example4

5.Sintaxe XPath usando @ e atributo
XPath= / / input [@ accesskey = ‘F’] / / / /
Aqui / / input [@ accesskey = ‘F’] descreve o nó de entrada com atributo@ accesskey = ‘F’ . Experimente por usá-lo em exemplo acima.

6.Exemplo XPath usando @ e atributo
XPath= / / input [@ type = ‘pesquisar’] / / / /
Aqui / input [@ type = ‘pesquisar’] descreve o nó de entrada com atributo type = ‘pesquisar’. Experimente, utilizando-o no exemplo acima.

7. XPathXML usando / descendente :: palavra-chave

xpath://div[@class=’search-container’]/descendant::input[@accesskey=’F’] // / /
Aqui eu usei descendente no meio. Neste caso eu descrevi apenas começando div nó com classe de atributo = ‘pesquisar-container “e de entrada do nó final com accesskey = atributo’ F’. Portanto, não precisa descrever entre os nós. Experimente por usá-lo no exemplo acima.

8. XPathexemplo consulta usando contém palavra-chave
XPath= / / input [contains (@ id “, searchInput”)] // / /
Aqui contém palavra-chave para identificar atributo id com o texto “searchInput”. Experimente, utilizando-o no exemplo acima.

9. XPathusando e com atributos
xpath://input[contains(@id,”searchInput”) and contains(@accesskey,”F”)] “)] / / //
Neste exemplo, ele vai olhar para dois atributos no nó de entrada. Experimente por usá-lo no exemplo acima

10. XMLvalor valor XPath usando posição ()
xpath://div[@class=’search-container’]/descendant::input[position()=2] // / /
Este XPath irá selecionar nó de entrada que está na posição de número 2 e é a caixa de texto de entrada para como mostrado na imagem. Experimente por usá-lo no exemplo acima.

11.Usando starts-with palavras chave
xpath://input[starts-with(@type,”s”)] // / /
Neste exemplo, ele vai encontrar nó de entrada com o atributo é ‘tipo’ e seu valor está começando com ‘s ‘(aqui ele vai ficar type =’ search ‘ ).

12.Usando OR (|) com condição XPath
xpath://input[@accesskey=’F’] |//input[@id=’searchInput’]
xpath://input[@accesskey=’F’ or @id=’searchInput’] / / / /

Em ambos estes exemplos, ele vai encontrar a caixa de entrada de texto com accesskey = ‘F’ ou @ id =’searchInput’. Se qualquer um encontrado, então ele irá localizar. Muito útil quando os elementos aparecem como alternativa.

13.Usando curinga * com a encontrar elemento XPath
XPath = / / * [@ accesskey = ‘F’]

14.Encontrar enésimo elemento filho de pai
XPath = / / corpo / * [3] / form / fieldset / * [2] / / / /
Este XPath é a caixa de texto para pesquisa. Aqui, / * [3] descreve o terceiro elemento filho do corpo, que é div [3]. Do mesmo jeito * [2] descreve o segundo elemento filho de fieldset que é de entrada [2]

Todos os exemplos acima são caixa de texto de entrada para. Agora deixe-me escrever XPath para drop down.

ExemplosXPath queda para baixo
1. xpath://body/div[3]/form/fieldset/select
2. xpath://body/div[3]/form/fieldset/select[last()]
3. xpath://body/div[3]/form/fieldset/select[@id=’searchLanguage’]
4. xpath://body/div[3]/form/fieldset/select[@name=’language’]
5. xpath://div[@class=’search-container’]/descendant::select[@name=’language’]
6. xpath://select[contains(@id,”searchLanguage”)]
7. xpath://div[@class=’search-container’]/descendant::select[position()=1]
8. xpath://body/div[3]/form/fieldset/select[count(*)>1]

New Test

Command
Target
Value

open
http://www.wikipedia.org/

select
xpath://div[@class=’search-container’]/descendant::select[position()=1]
label=English

Outros Exemplos de XPath

1.Encontrar XPath para o link target ‘url’
//a[@href=’//meta.wikimedia.org/wiki/List_of_Wikipedias’] / / / /
Este exemplo XPath vai encontrar ligação com determinada URL (/ / meta.wikimedia.org / wiki /List_of_Wikipedias) na página.

2. Encontrar XPath do elemento com nenhuma criança
xpath://img[count(*)=0] ///// /
Este XPath é para logotipo do texto wikipedia que é exibição na parte superior da página. Este XPath vai encontrar esse elemento de imagem que não tem qualquer elemento filho. Aqui nó imagem é passado e não tem qualquer elemento filho.

xpath://div[2]/descendant::img[count(*)=0] / / / /
Este XPath é imagem do logotipo wikipedia que é exibição sob logotipo para texto.

Artigo traduzido de: http://software-testing-tutorials-automation.blogspot.com.br/2013/06/xpath-tutorials-identifying-xpath-for.html

Source: http://4alltests.webs.com/apps/blog/show/42211733

Você também pode querer ler

Comments are off for this post.