Em alguns casos, é necessário buscar um elemento que não possui nenhum identificador, mas que seu elemento “pai” ou “parente” possui, e desta forma ancoramos nossa localização no pai e então selecionamos o filho.
No exemplo acima temos //footer/*[last()] onde:
//footer – Elemento footer
/* – qualquer filho
[last()] – último elemento
Ou seja, o último filho do elemento footer.
No caso abaixo temos a localização de um filho e a seleção do pai.
Aonde em //*[@id=”txt-password”]/..:
//*[@id=”txt-password”] – qualquer elemento que possua o id txt-password
/.. – elemento pai
Ou seja o pai do elemento que possui o id = txt-password.
No caso acima temos a localização de um elemento “li” que possui dois filhos, sendo
//li[count(*)=2] aonde temos um elemento “i” e um elemento “a”.
Com recursos para identificar um elemento filho ou pai, ampliamos as possibilidades de encontrar o elemento que precisamos em uma automação.
Vale lembrar aqui que sempre devemos buscar os identificadores fortes e o ID sempre será o melhor deles, não esquecendo que como boas práticas o ID em uma página deve ser único, é o esperado.
Quando não temos o cenário ideal, devemos buscar alternativas para atingirmos os objetivos esperados para a automação, utilizando o identificador mais forte possível.
Por: Alexandre Siqueira