Skip to content

Projeto de Automação de teste web com base no site da Youse.

License

Notifications You must be signed in to change notification settings

widebyte/ProjetoWeb_Parte03

Repository files navigation

ProjetoWeb_Parte03

Resumo

Neste projeto teste foram utilizadas ferramentas de automação de processos para a verificação das seguintes atividades requisitadas:

  • Criar uma conta e realizar o login com sucesso;
  • Acessar a página institucional de cada produto;
  • Validar se cada página institucional acessada corresponde ao produto selecionado;
  • Realizar a cotação de um seguro.

Pendências

Neste projeto foi requisitado o Page Objects. Contudo, consegui montar neste projeto, onde consta na pasta classes, entretanto, tive alguns erros com as requisições das páginas. Sendo assim, deixei estes códigos para que a equipe possa avaliar e indicar melhorias. Se preferirem e solicitarem, posso reenviar este mesmo projeto com o Page Object corrigido, pois estou reestruturando e estudando uma melhor entrega para a equipe se for solicitada novamente.

Ferramentas utlizadas

MochaJS

O Mocha é uma estrutura de teste JavaScript rica em recursos, executada no Node.js e no navegador onde torna os testes de forma simples e assíncrona. Os testes Mocha são executados em série, permitindo relatórios flexíveis e precisos, enquanto mapeiam exceções não capturadas para os casos de teste corretos.

WebDriverIO

O WebDriverio foi outra ferramenta utilizada neste projeto, onde esta estrutura de automação de teste nos permite executar testes com base no protocolo Webdriver e na tecnologia de automação Appium. Ele fornece suporte para sua estrutura de teste BDD / TDD dependendo da sua utilidade e executa seus testes localmente ou na nuvem usando Sauce Labs, BrowserStack ou TestingBot.

Dando o primeiro passo

Para rodar este projeto, será necessário ter o Node.js instalado (pelo menos v8.11.2 ou superior) em sua máquina. Se você não possui o Node instalado, é recomendado a instalação do NVM para ajudar no gerenciamento de várias versões ativas do Node.js (como preferir).

Configurando o projeto

Antes de instalar dependências, você precisará inicializar um novo projeto através do NPM. Isso permitirá que você use a CLI para instalar dependências no seu projeto.

Para fazer isso, abra o terminal de sua máquina e execute o seguinte comando abaixo:

mkdir webdriverio-test && cd webdriverio-test
npm init -y

Instale a WebdriverIO CLI

Para este projeto de teste de integração, é recomendado o uso do executor de teste. Ele vem com muitos recursos úteis que facilitam a sua vida na hora da codificação do seu projeto.

Desde o WebdriverIO versão 5, o testrunner está no @wdio/clipacote NPM.

Agora, instale a CLI abaixo:

npm i --save-dev @wdio/cli

Gerar arquivo de configuração

Em seguida, você deverá gerar um arquivo de configuração para armazenar suas configurações do WebdriverIO.

Para fazer isso, basta executar o utilitário de configuração abaixo:

./node_modules/.bin/wdio config -y

É isso aí! O configurador instalará todos os pacotes necessários para você e criará um arquivo de configuração chamado wdio.conf.js.

Como foi utilizado o Geckodriver, será preciso substituir o padrão path(que usa o padrão do Selenium /wd/hub). Então, ajudará a equipe a ficar pronta para criar seu primeiro arquivo de especificação como por exemplo "arquivo de teste".

Criar arquivos de especificação

Neste momento é a hora criar seu arquivo de teste. Você vai armazenar todos os seus arquivos de teste em uma nova pasta.

Crie a pasta de teste assim:

mkdir -p ./test/specs

** Crie um novo arquivo nessa pasta (ela foi chamada de login_cadastro.js):**

touch ./test/specs/login_cadastro.js

Abra esse arquivo e veja o seguinte código (O código foi colocado abaixo só para ter uma ideia de como foi montado):

describe('Acessar o site da Youse', () => {
    it('Ir para a Url', () => {
        browser.url('https://youse.com.br');
        const title = browser.getTitle();            
    });

    describe('Acessando o area de cadastro do usuario', () => {
        it('Ir para a tela de cadastro', function (){
            browser.url('https://youse.com.br');
            $('/html/body/div[1]/div[1]/div/div[1]/div/div/div[2]/a').click();
            browser.pause(3000);         
        });
    });

/*---------------Cadastrando Usuário na Youse---------------------*/    

    describe('Cadastrando usuario na Youse', () => {
        it('Cadastrar um novo usuario', function (){
            $('/html/body/div[2]/a[1]').click();            
            $('//*[@id="user_name"]').addValue('Fulano da Silva');
            $('//*[@id="user_email"]').addValue('email_cadastrado');
            $('//*[@id="user_password"]').addValue('senha_cadastrada');
            $('//*[@id="user_password_confirmation"]').addValue('confirmar_senha_cadastrada');
            $('/html/body/div[2]/article/form/div/input').click();
            browser.pause(2000);            
        });
    });
});

/*--------------Realizar login na Youse--------------------*/
var assert = require('assert');

describe('Realizar login na Youse', () => {
    it('Ir para a Url', () => {
        browser.url('https://youse.com.br');
        const title = browser.getTitle()        
        //assert.strictEqual(title, 'Seguro Auto, Residencial e Vida | Youse, Seguros Online Tipo Vc')
        $('/html/body/div[1]/div[1]/div/div[1]/div/div/div[2]/a').click();
        browser.pause(1500);
        $('//*[@id="email"]').addValue('email_cadastrado')
        $('/html/body/div[2]/article/form/div/input').click();
        browser.pause(1000);
        $('//*[@id="user_password"]').addValue('senha_cadastrada');
        $('/html/body/div[2]/article/form/div/input').click();
        browser.pause(1000);
        var pageUrl = browser.getUrl();
        assert.notEqual(pageUrl, 'https://www.youse.com.br/users/sign_in?email=widefun%40outlook.com');
        assert.equal(pageUrl, 'https://www.youse.com.br/account')
        
    });    
});

Inicie o Testrunner do WebDriverIO

Agora, é hora de executar seus testes!

Para fazer isso, basta executar o seguinte comando abaixo:

./node_modules/.bin/wdio wdio.conf.js

OBS Se quiser rodar um caso de teste em específico e só digitar o seguinte comando abaixo:

./node_modules/.bin/wdio wdio.conf.js --spec "nome_do_teste".js

About

Projeto de Automação de teste web com base no site da Youse.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published