Muita gente deixa de usar selenium pq é “complicado”, “porque cria muito arquivo com selenium IDE e só roda no Firefox”, que é somente para programadores e por ai vai.

Eu não estou inventado isso não! São emails, msg’s que vejo em grupos de discussão e é por isso vou dedicar esse post para desmentir, clarear e mostrar outros modos de se usara plataforma (sim, vou repitir metade das coisas que eu já falei por que quero esse post como uma referência para tudo).

Então vamos começar:

Como eu faço para instalar o Selenium?

Selenium é mais uma biblioteca / framework do que um mero aplicativo.
Não existe instalação para poder usar. O que existe são aplicativos que auxiliam no seu uso como o Selenium IDE (plugin firefox), Selenium Core (servidor do selenium que é inicializado a partir de um .jar) e o Selenium GRID ( auxiliar que permite multiplas instâncias do servidor selenium em máquinas diferentes rodando o mesmo teste ao mesmo tempo).
Para maiores informações sobre como executar o servidor e etc, acesse um dos primeiros posts desse blog.

Selenium só roda no Firefox?

Selenium é um framework independente do navegador usado para teste. O plugin “Selenium IDE” é um plugin de firefox que ajuda na elaboração dos scripts.

Selenium não entende meus popups e meu teste falha.

É preciso ter em mente que tipo de popup estamos falando aqui. Geralmente as pessoas vem com problema de mensagens e “popups” feitos em ajax para alertar ou pedir a confirmação de uma operação. São objetos javascript que sao carregados “on the go” na aplicação, ou seja, somente quando o evento é disparado. Como é um objeto carregado, é preciso informar ao selenium que espere o loading ou caso contrário o teste falhará.
Exemplos de como solucionar este problema estão em “Selenium e Ajax – Amor e Odio”.

Tem que ser programador para usar selenium?

Não necessariamente. Um bom técnico / analista de teste que não saiba programar pode usar sem problemas, gravando os testes em arquivos e rodando utilizando test runner do selenium IDE ou dentro de uma pasta da aplicação. A “instalação” e manuseio do testrunner se assemelha a utilização do XAMP, ou seja… bem sussegado de se usar.

Um Paralelo de utilização do Selenium é a ideia do Pintor de casa. Sim, você pode comprar rolo, pincel e tinta e pintar você a sua casa e dependendo da sua dedicação, o serviço pode sair bom ou sair ruim. Agora se você quer sua casa / predio pintado em pouco tempo com perfeição, sim é preciso de um profissional dedicado. (meio tosquinho mas foi o melhor que consegui no momento…rs)

Não uso selenium por que não tem relatório de execução para mostrar para meus superiores.

Sim, a interface dos relatórios de execução do selenium são um horror porém existem bibliotecas como ReportNG que fazem relatórios de execução a nivel gerencial impecáveis.

Não uso selenium por que não é possivel modularizar os códigos de execução

“ou Não uso selenium por que é confuso e gera muitos arquivos ou Não uso selenium pq é dificil manter codigo atualiado”.

Uma semi verdade quando falamos de execução do testrunner dos scripts criados pelo selenium IDE, porém quando usamos o framework especifico de cada linguagem (java , c#, Pyhton, Perl , ruby) é possivel fazer mundos e fundos. Eu mesmo fiz um gerenciador de teste para que a gerência escolher qual teste deveria ser executado (dentro de um excel) e mandava executar.
Todo código era modularizado e feito para ser reusado. Caso algo quebrase, o módulo tinha que ser arrumado e não o código inteiro.

Hoje vi que a CME faz algo similiar mas muito mais bacana. Eles tem um gerenciador de testes de webservice e é possivel criar testes para interfaces pré cadastradas e com as variaveis de ambiente setadas na propria pagina, ou seja, um exemplo:

Interface a ser testada: (combobox)
Testar login (boleano) true or false
valor do input x :
valor do input y: E por ai vai.

Não uso o selenium por que so tenho uma 1 máquina para executar os testes e ele “ocupa” minha tela enquanto executa.

Teoricamente você estaria executando aqueles testes manuais, ou seja, ao invés de gastar 3 horas preenchendo e clicando, o selenium faz em 20min, mas se mesmo assim ainda você vê problema em executar, o WebDrive com selenium 2.0 está foi feito para você. O Selenium 2.0 é todo baseado no webdrive e com isso faz a execução de testes em background sem invalidar sua area de trabalho enquanto realiza os teste. Ele aida esta em fase beta (beta 5) porém acredito que no maximo uns 4 meses e uma versão final seja lançada.

Não uso selenium porque ele é em Inglês.

CCAA ,CNA estão ai para isso

Testes automatizados demoram muito para serem feitos e no final, tudo é jogado fora.

Qualquer coisa feita sem planejamento é jogada fora no final por que não é reutilizavel OU as coisas mudam antes de finalizar o projeto. Por isso é bom ter um planejamento solido, com entregaveis pequenos, modularizados e reutilizaveis.

Por que meu selenium esta com volume baixo?

Procure um site de som automotivo, você esta no local errado =)

4 Responses to “Desmitificando o Selenium”

  1. É possível gerar Relatórios sobre os testes que gerei no Selenium IDE ?

  2. Leonardo Galani disse:

    Igor, é possivel somente quando você usa o test runner.
    O IDE é um facilita a utilização do selenium para record and play e somente isso.

    []s

  3. Alex Sandro disse:

    Como rodar testes paralelo utilizando Selenium Webdriver no Visual C#?

  4. Leonardo Galani disse:

    Selenium E webdriver em paralelo? para que você iria querer isso?
    bom.. você cria 2 instancias diferentes e manda abrir um browser para cada instancia… ;)
    Mas isso nao é muito inteligente… e funcional

Leave a Reply