Recursos especiais neste artigo:
Conteúdo sobre boas práticas.
Neste artigo vamos explorar a utilização da nova API do Selenium, conhecida como WebDriver, para realizar a navegação entre páginas, localizar elementos na árvore DOM, preencher formulários, criar condições de espera para lidar com chamadas AJAX, tratar alertas, chavear entre diferentes janelas abertas e ainda aprender a modelar páginas utilizando o padrão PageObject.
Em que situação o tema é
útil
Atualmente, é bem raro
encontrar sistemas com uma cobertura de testes adequada e capaz de detectar a
introdução de defeitos após modificações. Para garantir a qualidade do
software, é necessário investir em automação de testes, no entanto,
dificuldades arquiteturais e excesso de acoplamento entre os componentes acabam
dificultando esse trabalho. O Selenium facilita imensamente esse processo.
Já parou para pensar quantas vezes testamos a mesma coisa em nosso dia a dia de desenvolvedores de software? Infelizmente, é comum despendermos um tempo importante apenas realizando testes manuais e repetitivos. O pior é que esse tempo não é reaproveitado, pois quando qualquer modificação é realizada, os testes precisam ser feitos novamente.
Por esse motivo, a automação de testes deve ser entendida como um importante investimento, capaz de proporcionar um processo de desenvolvimento de software mais sustentável ao longo de todo o projeto. Ao mesmo tempo em que ajuda a garantir a qualidade do software que é entregue, a automação de testes contribui para o aumento da produtividade e da satisfação da própria equipe e principalmente dos clientes.
Normalmente, um dos fatores que mais fazem com que a produtividade diminua é o acúmulo de defeitos. Quando um defeito aparece, geralmente deve ser corrigido urgentemente, muitas vezes fazendo com que a equipe precise parar suas atividades para efetuar a correção. Fora o custo de ficar trocando de atividade, quanto mais tempo demorar para que o defeito seja detectado, mais tempo será gasto no seu entendimento e reprodução. Uma boa cobertura de testes automatizados ajuda a detectar o defeito no momento em que ele é inserido, barateando os custos de correção e aumentando a produtividade da equipe como um todo.
Outro fator que impacta na produtividade é a rotatividade da equipe do projeto. Em geral, o aumento da rotatividade na área de desenvolvimento de software está relacionado com a sensação de falta de desafios, de crescimento e de aprendizado. Esse sentimento de que a carreira está estagnando vem de um ambiente insustentável, onde o foco principal é em apenas apagar os últimos incêndios e correr atrás do prejuízo.
Falando em incêndios, não existe nada pior para um cliente do que detectar problemas no software constantemente em seu dia a dia de trabalho. Esta é uma das principais causas da perda de confiança e até de cancelamento de contrato, sem falar em prejuízos financeiros. Quanto vale a imagem da sua empresa no mercado?
Com o objetivo de aumentar a produtividade e principalmente o nível de confiança entre a equipe de desenvolvimento e os clientes do produto, vamos abordar neste artigo a utilização da ferramenta Selenium e sua API, conhecida como WebDriver, explorando diversas maneiras de automatizar a execução de testes de aceitação em sistemas web.
História do Selenium
O Selenium é uma das ferramentas mais conhecidas e utilizadas da atualidade para realizar a automação de testes de aceitação em aplicações web por meio da utilização do browser. É possível utilizá-la tanto por meio de sua interface de gravação de testes, o Selenium IDE, quanto utilizando sua API para escrever os testes em diferentes linguagens como: Java, C#, Ruby, Perl, PHP e Groovy.
Ele foi criado em 2004, nos laboratórios da ThoughtWorks em Chicago, por Jason Huggins, que na época trabalhava em um projeto interno chamado Time and Expense (T&E), que fazia uso extensivo da linguagem JavaScript.
A ThoughtWorks é uma empresa mundialmente reconhecida pela excelência em desenvolvimento ágil de software e tem como um de seus principais líderes, Martin Fowler. Posteriormente, o projeto foi aberto e outras pessoas ajudaram a evoluir até chegar ao que temos hoje.
A principal motivação por trás da criação do Selenium está relacionada à ineficiência dos testes manuais, que consumiam um tempo excessivo da equipe do projeto T&E da ThoughtWorks, além do custo elevado de outras ferramentas similares no mercado, que estava além do orçamento do projeto.
Uma curiosidade bastante interessante é que o nome Selenium foi concebido em meio a uma troca de e-mails sarcásticos entre seu criador, Jason Huggins, e a equipe do projeto. Uma das principais ferramentas de mercado da época, o Mercury, era satirizado pelo autor que dizia que o envenenamento causado pelo mercúrio poderia ser curado com selênio. Assim, o nome escolhido para o projeto acabou sendo o Selenium.
Criando um projeto com Selenium
A forma mais fácil de criar e configurar um projeto com Selenium é por meio da ferramenta Apache Maven. O Maven, atualmente na versão 3.0.4, é uma poderosa ferramenta para automação e gerenciamento de configuração de projetos Java. Entre suas principais características estão a gestão de dependências, a padronização da estrutura de diretórios, o ciclo de vida bem definido, a geração de documentação, além de uma imensa quantidade de plugins disponíveis que permitem estender suas funcionalidades.
Instalando o Maven
O processo de instalação do Maven é extremamente simples. Basta entrar na seção de downloads no site do projeto, localizado dentro do site da Apache Software Foundation, e baixar a última versão. Após realizar o download do arquivo, descompacte o conteúdo dentro de um diretório de sua preferência.
Para finalizar a instalação, será necessário criar uma variável de ambiente com o nome M2_HOME, apontando para o diretório de instalação do Maven. Também é importante modificar a variável ...
Confira outros conteúdos:
Introdução ao JDBC
Novidades do Java
Teste unitário com JUnit
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.