Curso de Selenium WebDriver – Aula 4 – Localização de elementos Pt II

É interessante que todos os elementos de uma página (tela do sistema) possua um id. O id é uma característica do elemento que define uma chave para encontrá-lo. Esta é a maneira mais fácil de identificar tal elemento. Porém, existem outras formas de fazê-lo. São elas:

  • Identifier: mais abrangente que o id
      • identifier=loginForm (3)
      • identifier=password (5)
      • identifier=continue (6)
      • continue (6)
  •  Name
      • name=username (4)
      • name=continue value=Clear (7)
      • name=continue Clear (7)
      • name=continue type=button (7)
  • XPath
      • xpath=/html/body/form[1] (3)
      • xpath=//form[input/@name=’username’]
  • Link
      • link=Continue (4)
      • link=Cancel (5)
  • DOM
      • dom=document.getElementById('loginForm') (3)
      • dom=document.forms['loginForm'] (3)
  • CSS
      • css=input.passfield (5)
      • css=#loginForm input[type="button"] (7)
Exemplo de trecho de página

Exemplo de trecho de página. Os elementos id e name estão declarados neste elemento

Trecho de página que apresenta dois links

Trecho de página que apresenta dois links

Cada um desses tipos deve ser utilizado por critério de exclusão. Quando não for disponibilizado o seu id ou não puder ser utilizado o identifier, pode-se então isolar um elemento por seu name. Caso não exista name, por seu estilo(CSS), link de texto (link) ou endereço de página dinâmico (xpath). No entanto, a ordem de apresentação não define uma sequência de exclusão a ser seguida. É necessário avaliar os recursos disponíveis e o elemento alvo do teste para realizar a escolha da característica mais adequada.

Todos estes tipos podem ser capturados manualmente, através do uso de uma ferramenta de estilo Firebug ou através de ações sobre o Selenium IDE. Esses valores devem ser colocados dentro do método findElement() para que o script de automatização do WebDriver funcione e encontre os objetos alvo ou objetos auxiliares do teste.

Em aula posterior será apresentada uma maneira de importar os casos de testes do Selenium IDE para uso no Selenium WebDriver. Isso pode até mesmo significar uma boa prática de automação de testes. Não perca!

Referências:

http://www.seleniumhq.org/docs/02_selenium_ide.jsp#locating-elements

Anúncios

7 pensamentos sobre “Curso de Selenium WebDriver – Aula 4 – Localização de elementos Pt II

  1. Amigo, boa tarde.
    Estou aprendendo selenium webdriver e estou com um problema que ainda não consegui ajuda.
    Ao tentar executar um teste, o navegador abre mas fica a página fica em branco, sem url nem nada.
    A página está setada no config.properties mas não abre.

    O que pode ser?
    Abraço.

    • Olá Jonatas!

      Olha, pra conseguir te ajudar eu preciso de mais detalhes sobre a configuração do seu ambiente e problema. Algumas dicas são: você está inicializando a página/atributos da classe corretamente? Está fazendo as anotações e importações corretas no seu código? Qual o navegador está utilizando? Se, por exemplo, for o Opera, você precisa fazer uma configuração especial no pom.xml.

      Até mais! 🙂

      • É um projeto pronto que eu estava aprendendo em cima dele.
        Porém não consegui avançar devido a esse problema. =\

      • Olá Jonatas, tudo bem?

        Olha, hoje me sucedeu esse mesmo problema que você relatou. Ao rodar os testes pelo meu workspace, o Firefox abria, mas não executa nenhum dos passos. A tela ficava em branco.

        Pesquisei uma forma de resolver isso e encontrei esta página: http://stackoverflow.com/questions/16352775/org-openqa-selenium-firefox-notconnectedexception-unable-to-connect-to-host-127

        Ao que parece, a versão 2.42.2 do Selenium WebDriver, que eu estava utilizando no projeto estava desatualizada em relação à versão do Firefox. Por isso é muito importante trabalhar sempre com a versão mais atual do Selenium.

        Foi só setar a versão mais atual no arquivo Pom.xml que tudo voltou a funcionar. Por favor, na tag dependency, de artifactId selenium-java, substitua a version 2.42.2 por 2.43.1, ok? 😉

        Espero que a correção ainda esteja a tempo e que venha a te ajudar. Até mais! 🙂

      • Opa!
        Acontece que no meu não dá certo pelo chrome nem firefox. Pelo IE, ele de cara aparece um endereço “localhost:777” (ou algo parecido) e depois redireciona para o site do teste, porém não o executa.
        De qualquer maneira irei testar esse procedimento quando estiver no meu micro.
        Se funcionar só em um navegador já está ótimo, já que minha intenção inicial é apenas praticar.
        Muito obrigado pelo retorno. Abraço!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s