Game Selenium
Game Selenium

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

*
campo obrigatório
*campo obrigatório
*campo obrigatório
*campo obrigatório
*campo obrigatório Data impressa na CNH. Observar que deve ser no mínimo de 18 anos após data de nascimento.
*campo obrigatório Considerar DDD. Ex 92 12345-7890
*Campo obrigatório.
Informações Adicionais
*campo obrigatório
*campo obrigatório
*campo obrigatório
*Campo obrigatório.

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.

Fase 5

Fase 6 - Esperas Selenium

Input is not a number!

Fase 7

Fase 8

Fase 9

Fase 10