Pacote de Ferramentas para Automação

Thiago Carva
Jul 21, 2017 · 3 min read

Quem são Ruby / Cucumber / Capybara

Ruby é uma linguagem de programação poderosa e flexível que você pode usar no desenvolvimento web, para processar textos, criar jogos, e como parte de uma ferramenta web muito popular, chamada Ruby on Rails. Ruby é:

  • Alto nível, o que significa que a leitura e a escrita em Ruby é realmente fácil — parece muito com o idioma inglês!
  • Interpretada, o que significa que você não precisa de um compilador para codificar e executar seus programas em Ruby. Você pode programar na Codecademy ou até mesmo no seu computador (muitos já contém o interpretador Ruby embarcado.
  • Orientada a objetos, o que significa que ela permite que os usuários manipulem estruturas de dados chamadas objetos para criar e executar programas. Vamos aprender mais sobre objetos depois, mas por enquanto, tudo o que você precisa saber é que absolutamente tudo em Ruby é um objeto.
  • Fácil de usar, Ruby foi desenvolvido por Yukihiro Matsumoto (frequentemente chamado de “Matz”) em 1995. Matz se concentrou em desenvolver uma linguagem que enfatiza as necessidades humanas ao invés das necessidades do computador, o que é o motivo de Ruby ser tão fácil de compreender.

Cucumber é uma ferramenta que suporta Behavior Driven Development (BDD), que consiste em descrever o comportamento de um usuário. Dessa forma, as necessidades reais do usuário são descritas.

Cucumber é usado para descrever o valor do negócio em uma linguagem natural, por isso permite que equipes de desenvolvimento de software descrevam como o software deve se comportar em texto simples, escrevendo especificações através de exemplos. Uma boa vantagem de escrever especificações com Cucumber é que qualquer um na equipe consegue ler e entender as especificações em texto simples — de pessoas de negócios a desenvolvedores de software. Além disso, ele ajuda a obter feedback dos stakeholders de negócios sobre se a equipe vai construir a coisa certa antes mesmo de começar. Ele também ajuda a equipe a fazer um esforço intencional para desenvolver uma linguagem ubíqua compartilhada para falar sobre o sistema. Outra vantagem é que a especificação é uma documentação viva, porque apesar de ser escrita em texto simples, origina testes automatizados executáveis. A estrutura que o Cucumber usa para as especificações é o formato Given/When/Then em conformidade com gramática da linguagem Gherkin. A parte Given (Dado) descreve uma pré-condição existente do estado de software antes de começar o comportamento que você está especificando. A seção When (Quando) é o próprio comportamento. O Then (Então) descreve o resultado esperado do comportamento. Por exemplo: Dado que me inscrevi para Loja de Livros Online, quando eu acesso a loja com minhas credenciais, então vejo uma mensagem “Bem-vinda à Loja de Livros Online!”.

Capybara é um framework de Testes de aceitação para aplicações web. Com ele é possível testar que dado o input A a aplicação deve retornar o output B. Mas precisamente com Capybara se submeto o form de login informando o usuário e senha válidos a aplicação deve me redirecionar para a página de usuário logado.

Os comandos são uma linguagem de domínio específico do framework Capybara, desta forma, ao substituir o driver, os comandos não mudam.

Por padrão, o driver utilizado pelo Capybara é o RakeTest, driver usado para testar aplicações que possuem interface Rake (Rails, Sinatra e outros Frameworks Ruby), escrito puramente em Ruby. Um driver rápido, mas limitado, pois não há suporte a Javascript e nem a aplicações que não possuem interface Rake.

)

    Thiago Carva

    Written by

    Quality Assurance — Martial Arts

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade