Publicidade - Adsense

BDD com Cucumber – Parte 2



  • Topico desatualizado!

    Por favor consultem : http://agiletesters.com.br/topic/103/a-arte-de-desenvolver-testes-cucumber-capybara/26

    https://github.com/thiagomarquessp/capybaraforall


    Bom, já levando em consideração que vocês sabem como escrever uma feature, o próximo passo é inserir este arquivo (feature) para a estrutura de um projeto cucumber.

    Como assim?

    Então, um projeto, seja em qualquer linguagem, sempre tem uma estrutura própria; com cucumber não seria diferente. A estrutura é a seguinte:

    Screen Shot 2013-12-20 at 3.48.44 PM.png

    Para criar a estrutura acima, eu usei uma “gem”, chamada “testgen”.

    Para saber o que é uma → [“gem”](http://www.akitaonrails.com/2009/2/2/entendendo-rubygems#.UrSDl2RDslM)

    Para instalar essa “gem”, você tem que ter instalado o Ruby.

    Terminal-icon.png Você irá digitar o seguinte comando no terminal:

    gem install testgen

    Continuando…

    O próximo passo é mover o arquivo criado no post anterior, para dentro da pasta “features”, que fica dentro da estrutura do projeto.

    Depois de mover o arquivo para a pasta, agora é onde entra o Cucumber.

    O que é cucumber?

    É um Framework que irá executar os cenários desenvolvidos, usando a linguagem Gherkin.

    Para ilustrar, imagine uma reta, como a imagem abaixo:

    Screen-Shot-2013-12-20-at-7.14.51-PM.png

    O ponto A é a sua feature, onde utilizamos a linguagem Gherkin e seu ponto B é a sua implementação, ou seja, seu código, onde você irá utilizar uma das bibliotecas: watir-webdriver, selenium-webdriver, capybara entre outras.

    O que liga o ponto A ao ponto B é o Cucumber \o/

    Para instalar o cucumber, digite o seguinte comando no seu terminal:

    gem install cucumber

    Antes de continuar, precisamos fazer uma pequena configuração do arquivo “env.rb” que está na estrutura do projeto que você criou.

    O arquivo deverá ficar da seguinte forma:

    capy.png

    Com esta configuração estamos “dizendo” que iremos utilizar o Capybara para interagir com o browser.

    O que é Capybara?

    Capybara também é uma gem, e o seu objetivo é testar aplicações web, simulando como um usuário real interage com a aplicação.

    Para instalar o capybara, utilize o seguinte comando no seu terminal:

    gem install capybara

    Para lembrar: No post anterior, eu tinha dito que usaríamos o “watir-webdriver”, entretanto, como a maioria das pessoas preferem Capybara, resolvi mudar de biblioteca, ok?
    Bom, vamos ao ponto B:

    Precisamos criar o código para nossa feature, para isso o próximo passo é executar a feature que foi criada.

    Na raiz do seu projeto, no terminal, digite o seguinte comando:

    * cucumber features/nome_da_sua_feature.feature*

    No meu caso, como o nome da minha feature é “buscar_rotas.feature”, o comando ficou da seguinte maneira:

    cucumber features/buscar_rotas.feature
    Logo após você executar o comando, aparecerá a sua feature sendo executada, como a imagem a seguir:

    Screen-Shot-2013-12-20-at-5.16.35-PM.png

    Vocês podem notar que todos os passos que nós criamos, estão em amarelo. Mas por que?

    Porque quando um passo não está implementado, esta é a cor que ele é exibido. No nosso caso, como não implementamos nenhum, todos estão em amarelo.

    Temos 12 “steps” para serem implementados. E para nossa alegria, o Cucumber já monta os steps pra gente. Depois de você ter executado a feature, após o resumo abaixo:

    Screen-Shot-2013-12-20-at-5.29.00-PM.png

    O cucumber montou para você os “steps”. Agora é copiar todos os steps que ele gerou e você deverá colar em um novo arquivo. (No meu caso, estou usando o Sublime, então vou colar os steps em um novo arquivo por lá).

    Alguns steps que ele criou foram:

    Screen-Shot-2013-12-20-at-5.31.34-PM.png

    Depois de colar para um novo arquivo todos os steps, você deverá salvar este arquivo dentro da pasta “step_definitions” na estrutura do nosso projeto, com a extensão “rb”, o meu eu salvei como: “steps.rb”.

    Importante: Mesmo você tendo várias features, você irá inserir os steps sempre dentro de um único arquivo.

    Meu arquivo “steps.br” ficou da seguinte maneira:

    Screen-Shot-2013-12-20-at-5.38.01-PM.png

    A estrutura do projeto ficou da seguinte maneira:

    Screen-Shot-2013-12-20-at-5.38.30-PM.png

    ~~ O nosso próximo passo, que é implementar cada um dos steps, usando capybara, nós iremos desenvolver juntos na 3º parte deste post.~~

    Espero que seja útil para todos.

    Nos vemos no próximo, até mais.



  • @Daniela-Vieira seria possível atualizar as imagens desse artigo?
    Abçs :kissing_heart:


  • MVP

    @Amabia-Macario-Galvani Se seu intuito é aprender cucumber, tem artigos meus: http://agiletesters.com.br/topic/103/a-arte-de-desenvolver-testes-cucumber-capybara/26 e tem a iniciativa Automation For All: https://github.com/thiagomarquessp/capybaraforall.

    Que aborda cucumber + framwork de desenvolvimento de testes (no caso, o capybvara) e no meu github é bem prático!!!



  • Caso tem interesse em aprender com Java, eu usei esse artigo aqui:

    http://toolsqa.com/cucumber/behavior-driven-development/



  • Também gostaria que atualizassem as imagens.



  • Olá, @Amabia-Macario-Galvani . Tudo bem?
    Claro, vou atualizar. Já estou devendo isso faz um tempão já, com seu pedido me fez animar em atualizar.
    Obrigada e abraços.



  • Olá, @thiagompereira ! Poxa, que legal ver você por aqui compartilhando conhecimento, parabéns. É legal ver alguém que se dedicou em aprender e hoje está contribuindo com a comunidade.
    Abraços.



  • Olá, @gpd38 ! Vou atualizar as imagens!
    Espero que ajude você a aumentar seu conhecimento.
    Abraços. :)


  • MVP


 

Publicidade - Adsense

status at

19
Online

2.8k
Usuários

1.7k
Tópicos

5.7k
Posts

});