Testes de verificação e validação são considerados um elemento crítico para garantia da qualidade de software. O planejamento, execução e controle de teste são dispendiosos e trabalhosos no processo de desenvolvimento. Em vista disso, as atuais ferramentas de testes oferecem uma variedade de recursos que podem reduzir significativamente os problemas identificados, de modo a garantir a qualidade de software, aumentar a produtividade e diminuir os custos. Dentre elas, o Selenium Web Driver é uma excelente escolha para iniciarmos a automação dos nossos testes, pois é uma ferramenta livre, gratuita e permite o uso em diferentes linguagens de programação e browsers
Neste livro, Rafael apresenta de forma introdutória e objetiva como escrever testes automatizados para Web utilizando Selenium Web Driver e JUnit em Java. O autor demonstra passo a passo e com exemplos práticos como rodar testes automatizados em navegadores tanto convencionais, como sem interface gráfica. Você conhecerá os principais problemas e dificuldades de um projeto de automação e verá padrões de projeto, como Page Objects, que o ajudarão a escrever códigos mais limpos e de fácil manutenção. Ao final, você será capaz de configurar um ambiente e criar scripts de testes automatizados, bem como terá uma boa base para seguir para ferramentas e técnicas mais avançadas.
表中的内容
1 Introdução
1.1 Selenium
2 Instalando o Selenium
2.1 Configurando o Selenium no Eclipse
2.2 Maven
2.3 Conclusão
3 JUnit
3.1 @Before Class
3.2 Exemplo prático
3.3 Conclusão
4 Primeiros scripts
4.1 Comandos básicos do Web Driver
4.2 Usando mais recursos do JUnit com Web Driver
4.3 Conclusão
5 Interagindo com elementos
5.1 Web Elements
5.2 Inspecionando um elemento
5.3 Escrevendo em um campo de texto
5.4 Clicando em um elemento
5.5 Utilizando outros localizadores
5.6 Conclusão
6 Mais interações
6.1 Select
6.2 Checkboxes e radio buttons
6.3 Conclusão
7 Asserts
7.1 Assert True
7.2 Assert False
7.3 Assert Equals
7.4 Conclusão
8 Page Objects
8.1 O conceito
8.2 Aplicando Page Object no seu projeto
8.3 Conclusão
9 Esperas
9.1 Esperas implícitas
9.2 Esperas explícitas
9.3 Fluent Wait
9.4 Conclusão
10 Mais navegadores e headless browser
10.1 Firefox
10.2 Internet Explorer
10.3 Headless browsers
10.4 Criando uma fábrica de Web Drivers
10.5 Conclusão
11 Alertas e janelas
11.1 Janelas
11.2 Alertas
11.3 Popup box
11.4 Confirm popup
11.5 Prompt popup
11.6 Conclusão
12 Lidando com tabelas
12.1 Conhecendo a estrutura
12.2 Automatizando uma tabela
12.3 Lidando com tabelas dinâmicas
12.4 Inserindo texto em uma célula
12.5 Conclusão
13 Massa de dados
13.1 Faker
13.2 Conclusão
14 Page Factory
14.1 Declarando um Web Element
14.2 A anotação Find By
14.3 Inicializando nosso Web Element com Page Factory
14.4 Encontrando mais de um elemento com @Find Bys
14.5 A anotação @Cache Lookup
14.6 Conclusão
15 Criando suítes de teste com JUnit
15.1 Separando por funcionalidade
15.2 Anotações @Suite e @Run With
15.3 Definindo categorias de teste
15.4 Incluindo ou excluindo mais uma categoria no mesmo teste
15.5 Ordenando a execução dos testes
15.6 Conclusão
16 A classe Actions
16.1 Clicando com o botão direito do mouse
16.2 O método send Keys e a classe Actions
16.3 Conclusão
17 Aplicando o conhecimento na prática
17.1 Conhecendo e configurando o projeto
17.2 Implementando o primeiro passo do teste
17.3 Continuando nosso teste
17.4 Cobrindo mais alguns cenários
17.5 Uma pausa para refatoração
17.6 Conclusão
18 Por onde prosseguir: dicas e ferramentas complementares
关于作者
Rafael Peixoto Silva trabalha com qualidade de software desde 2010. Bacharel em Ciência da Computação pela Universidade São Judas Tadeu, possui certificação CTAL-TM (Certified Testers Advanced Level – Test Manager) concedido pelo BSTQB (Brazilian Software Test Qualification Board) trabalhou em grandes empresas nacionais e multinacionais principalmente nas áreas bancárias e de seguros. Atualmente, é QA Sênior na TEx Soluções, líder em soluções online para corretoras de seguros. É responsável, entre outras atividades por desenvolver testes automatizados e garantir a qualidade na entrega de software. Trabalhou com metodologias tradicionais e ágeis, possui experiência em treinamentos em teste de software, principalmente na área de automação.