Fase 1 - Simulando um Login
Regras da Fase 1
Aqui iremos aprender a usar comando simples como sendKeys, click e assertivas.
Para realizar um login com sucesso o seguinte usuário estará disponível:
Usuário: caboquinho ou caboquinho@vanilton.net
Senha: 0123456789
caso o login seja efetuado com sucesso será exibido a mensagem "Login efetuado com sucesso!", caso contrário será exibido a mensagem "Login incorreto!".
Para desbloquear a fase 2 é necessário responder corretamente todas as questões do quiz da Fase 1.
Quiz Fase 1
Comandos Básicos
/*Instanciando o objeto driver que abrirá o browser Firefox*/
WebDriver driver = new FirefoxDriver();
/*Passar a url do parâmetro para o navegador abrí-la*/
driver.get("http://vanilton.net/selenium/game/");
/*Traduzindo os comandos abaixo
driver.findElement = Busco,
By = (pelo),
locator = (className, cssSelector, id, linkText, name)*/
/*Exemplo de busca de elemento da página html através de locators*/
driver.findElement(By.id("id"));
/*Iteragindo com os elementos localizados*/
/*Click no elemento*/
driver.findElement(By.id("id")).click();
/*Limpar o campo de input*/
driver.findElement(By.id("id")).clear();
/*Recupera o texto contigo na tag do elemento*/
driver.findElement(By.id("id")).getText();
/*Envia o texto passado no parâmetro*/
driver.findElement(By.id("id")).sendKeys("texto A Ser Enviado");
/*Recupera o texto do atributo passado como parâmetro*/
driver.findElement(By.id("id")).getAttribute("nomeAtributo");
Exemplo de Teste com JUnit e Selenium WebDriver
@Before
public void setUp(){
/*Instanciando o driver com o browser Firefox*/
WebDriver driver = new FirefoxDriver();
/*Passando para o driver a url a ser aberta*/
driver.get("http://vanilton.net/selenium/game/");
}
@Test
public void testLogin(){
/*Utilizando locator por id e realizando
ação de envio de texto. Ex:*/
driver.findElement(By.id("nome")).sendKeys("texto A Ser Enviado");
/*Utilizando algum locator seguido da
ação de click. Ex:*/
driver.findElement(By.locator("X")).click();
/*Utilize algum locator seguido de uma ação
para capturar o texto e verifique as mensagens
de login com sucesso e insucesso. Ex:*/
assertEquals("Login efetuado com sucesso!",
driver.findElement(By.locator("X")).getText());
}
Dicas
1 - Para clicar no botão entrar procure por um tipo de locator diferente de "id". Explore os demais locators!
2 - Nem tudo é tão rápido que não precise de uma espera. Faça uma espera explícita pela exibição da "Fase 2".
Fase 2 - Checando Valores
Regras da Fase 2
Nos campos ao lado cada botão retornará um valor no campo acima.
Ao clicar no botão Dia Atual no campo correspondente será exibido o valor Ex. "Sexta-Feira".
Para o botão Mês Atual o mesmo ocorre retornando um valor Ex. "Outubro".
E para o botão Ano Atual ao ser clicado retorna um valor Ex. "2015".
Por fim o botão Limpar Campos retira quaisquer valores preenchidos nos campos acima.
Valide as ações de todos os botões realizando assertivas com JUnit.
Quiz Fase 2
Comandos e comentários
/*Para recuperar o texto dos campos usualmente
pode-se utiliza um dos comandos abaixo*/
driver.findElement(By.id("elemento")).getAttribute("value");
driver.findElement(By.id("elemento")).getText();
Dicas
1 - Nem tudo que parece é, verifique onde está o texto a ser verificado
Fase 3 - Aluguel de Veículo
Regras da Fase 3
Na frase 3 o desafio é mais complexo, aprenderemos a utilizar novos comandos da ferramenta Selenium como Select e novos localizadores. A fase 3 irá abordar uma simulação de um aluguel de veículo com o cadastro e verificação dos dados. Mais informações dos critérios de teste serão mostradas abaixo.
Contratante
Para os dados do contratante devem ser considerados:
- Nome: No mínimo 4 caracteres e no máximo 50 caracteres, e não deve ser permitido caracteres especiais, apenas letras e números.
- CPF: Deve possuir 11 dígitos numéricos e respeitando todas regras de um CPF válido.
- Endereço: Deve possuir 10 caracteres no mínimo.
- Data Nascimento Deve estar no formato dd/mm/aaaa, e ser uma data válida.
- Data Habilitação Deve estar no formato dd/mm/aaaa. Ter mais de 18 anos referente a Data de Nascimento para ser uma data válida.
- Telefone Deve estar no formato (DDD) 12345-1234, ou seja, com o 5º dígito, ou com apenas o 4º dígito para ser um telefone válido.
Após todos os campos serem válidos o botão avançar e a aba Veículo são habilitadas.
Veículo
Para os dados do veículo devem ser considerados:
- Marca: Apenas marcas listadas devem ser válidas. Ao escolher uma marca deve ser listados os veículos no campo Modelo Veículo/Categoria, caso não aja modelos disponíveis deve ser exibido uma mensagem informando e o campo Modelo deve estar vazio.
- Modelo Veículo/Categoria: Apenas modelos/categorias listadas devem ser válidas.
- Dias de Aluguel: Apenas é permitido o aluguel entre 1 e 99 dias.
- Acessórios: Acessórios não são obrigatórios, e deve haver apenas as opções: AirBag, Direção Hidráulica e Central Multimídia.
Após todos os campos serem válidos o botão avançar e a aba Orçamento são habilitadas.
Orçamento
Para os dados do orçamento devem ser considerados:
Categoria
Taxa Diária (R$)
Acessório
Valor (R$)
A
25
AirBag
200
A+
50
Direçao Hidráulica
150
A++
100
Central Multimídia
100
- Cálculo do Orçamento:
Subtotal das Taxas = Taxa Dias de Aluguel x Taxa Diária do Veículo
Total = Preço da Categoria do Veículo + Subtotal de Taxa + Acessórios
- Confirmação do Aluguel:
Deve ser exibido o código do alguel, o dia do aluguel e a data de devolução baseado na quantidade de dias alugados.
Na frase 3 o desafio é mais complexo, aprenderemos a utilizar novos comandos da ferramenta Selenium como Select e novos localizadores. A fase 3 irá abordar uma simulação de um aluguel de veículo com o cadastro e verificação dos dados. Mais informações dos critérios de teste serão mostradas abaixo.
Contratante
Para os dados do contratante devem ser considerados:
- Nome: No mínimo 4 caracteres e no máximo 50 caracteres, e não deve ser permitido caracteres especiais, apenas letras e números.
- CPF: Deve possuir 11 dígitos numéricos e respeitando todas regras de um CPF válido.
- Endereço: Deve possuir 10 caracteres no mínimo.
- Data Nascimento Deve estar no formato dd/mm/aaaa, e ser uma data válida.
- Data Habilitação Deve estar no formato dd/mm/aaaa. Ter mais de 18 anos referente a Data de Nascimento para ser uma data válida.
- Telefone Deve estar no formato (DDD) 12345-1234, ou seja, com o 5º dígito, ou com apenas o 4º dígito para ser um telefone válido.
Após todos os campos serem válidos o botão avançar e a aba Veículo são habilitadas.
Veículo
Para os dados do veículo devem ser considerados:
- Marca: Apenas marcas listadas devem ser válidas. Ao escolher uma marca deve ser listados os veículos no campo Modelo Veículo/Categoria, caso não aja modelos disponíveis deve ser exibido uma mensagem informando e o campo Modelo deve estar vazio.
- Modelo Veículo/Categoria: Apenas modelos/categorias listadas devem ser válidas.
- Dias de Aluguel: Apenas é permitido o aluguel entre 1 e 99 dias.
- Acessórios: Acessórios não são obrigatórios, e deve haver apenas as opções: AirBag, Direção Hidráulica e Central Multimídia.
Após todos os campos serem válidos o botão avançar e a aba Orçamento são habilitadas.
Orçamento
Para os dados do orçamento devem ser considerados:
| Categoria | Taxa Diária (R$) | Acessório | Valor (R$) |
|---|---|---|---|
| A | 25 | AirBag | 200 |
| A+ | 50 | Direçao Hidráulica | 150 |
| A++ | 100 | Central Multimídia | 100 |
- Cálculo do Orçamento:
Subtotal das Taxas = Taxa Dias de Aluguel x Taxa Diária do Veículo
Total = Preço da Categoria do Veículo + Subtotal de Taxa + Acessórios
- Confirmação do Aluguel:
Deve ser exibido o código do alguel, o dia do aluguel e a data de devolução baseado na quantidade de dias alugados.