Post

1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...

By Enium
Cada dia aprendo uma coisa nova e surpreendente.
Estava eu lendo o “A Smattering of Selenium” do blog oficial do Selenium, que por sinal é muito bom para ficar antenado sobre as notícias do Selenium, e encontrei um post que fala justamente de um problema que comentei recentemente no blog, o problema do enésimo elemento.
Até então eu pensava que a única solução nativa era trabalhar com os índices dos elementos pais, mas há outras duas maneiras de resolver o problema.
Problema: dado abaixo um exemplo em html, quero verificar que o texto da quarta célula da tabela é “Produto 4″Exemplo:

Produto 1
Produto 2
Produto 3

Produto 4
Produto 5
Produto 6

Solução 1: assertText | //tr[2]/td[1] | Produto 4Explicação 1: essa é a solução simples onde você tem que trabalhar com o índice do elemento pai, no nosso caso o elemento tr.
Solução 2: assertText | xpath=/descendant::td[4] | Produto 4Explicação 2: você deve trocar o // pela função descendant do xpath. A anotação // de xpath, corresponde à função descendant-or-self que para quando acha o primeiro elemento. Note que tem que forçar o xpath= já que você não vai usar o //. Você pode ler mais sobre isso aqui.
Solução 3: assertText | xpath=(//td)[4] | Produto 4Explicação 3: essa solução só funciona com o Selenium, não é nativo do xpath. Você explicita que está usando xpath, coloca sua expressão em parênteses e em seguinda coloca o índice do elemento desejado.
Vivendo e aprendendo!!! To pensando em mudar o nome do blog para O Blog do Seu Enésimo
Até a próxima.

Source: http://feedproxy.google.com/~r/seuenium/~3/kw3EysAJz8E/

Category: selenium, locators, se1, xpath

Você também pode querer ler

Comments are off for this post.