Explorando a ferramenta de testes Selenium

Recentemente conheci a ferramenta de testes, ou melhor, o conjunto de ferramentas chamado Selenium. Explorei a ferramenta, fiz alguns testes e agora compartilho algumas impressões que tive e que acho que podem ajudar quem está procurando uma ferramenta de testes ou está pensando em incluir algo no ciclo de desenvolvimento que garanta que boa parte das features presentes no seu website possam ser verificadas automaticamente a cada modificação no código, garantindo assim um nível razoável de qualidade ao longo do processo de desenvolvimento. Sendo assim, seguem algumas considerações:

  1. O conjunto de ferramentas tem como objetivo testar aplicações e não considera, por default, dados de utilização ou tem a função de data-logger. Se você procura um data-logger ou algo relacionado, esta não é a ferramenta. Entretanto ...
  2. É possível inserir a ferramenta no ciclo de desenvolvimento, uma vez que é relativamente fácil verificar se o sistema responde da maneira esperada para todas (ou quase todas) tarefas, a cada mudança feita no código;
  3. Também é possível usar o Selenium para executar testes de estresse considerando entrada de dados normalmente usados para injeção de código malicioso ou testar disputa de recursos usando o componente grid, do Selenium;
  4. Outro possibilidade interessante é usar o Selenium para fazer a verificação de features considerando diferentes navegadores, obtendo assim um nível de compatibilidade cross-browser razoável;
  5. Por fim, considerando avaliação semiautomática, é possível usar o Selenium para rodar validadores de (X)HTML ou CSS em todas as páginas de website ou até mesmo passar todas as páginas de um website por uma ferramenta semiautomatica de avaliação de avaliação de acessibilidade (e.g., AChecker) e capturar a tela de resultados ou contabilizar o número de resultados conhecidos, prováveis, etc.

Algumas ferramentas semiautomáticas verificam se muitas requisições estão sendo feitas a partir de uma mesma máquina. Portanto, é sempre bom inserir um intervalo entre as requisições para que seu IP não seja bloqueado.