View
551
Download
4
Category
Preview:
Citation preview
Web Application Testing in Ruby
RubyRuby foi apresentada ao público pela primeira vez em 1995, pelo seu criador: Yukihiro Matsumoto, mundialmente conhecido como
Ruby é uma linguagem totalmente orientada a objetos(diferente de Java que possui por ex. tipos primitivos), com tipagem forte e dinâmica.
Curiosamente é uma das únicas linguagens nascidas fora do eixo EUA
Uma de suas principais características é a expressividade que possui. Teve-se como objetivo desde o início que fosse uma lingu
Hellow World.rb
puts "Olá Mundo"
Rails
é um framework de desenvolvimento web escrito na linguagem Ruby. Ele é designado para tornar a programação de aplicações web
Rails é um software com opinião. Isto é, ele supõe que existe um modo melhor para fazer as coisas, e ele é desenhado para enc
Se você aprender “O Modo Rails” vai provavelmente descobrir um aumento tremendo de produtividade. Se persistir em trazer velh
A filosifia Rails inclui diversos princípios como:
DRY – “Don’t Repeat Yourself” – sugere que escrever o mesmo código várias vezes é uma coisa ruim.
Convenção ao invés de Configuração – significa que o Rails faz suposições sobre o que você quer fazer e como você estará fazendo isto, em vez de deixá
REST é o melhor modelo para aplicações web – organizar sua aplicação em torno de recursos e verbos HTTP padrão é o modo mais rápido
Watir
Imagine poder simular através de código Ruby os passos de um usuário acessando o browser, clicando em links, ou preenchendo f
Isso facilitaria muito o teste de aplicações para web, não é mesmo? Seus problemas acabaram, pois é justamente isso que o
Na prática, é como se você programasse um robozinho para acessar o navegador e realizar algumas tarefas, como clicar num dete
require 'watir'
Watir::Browser.default = 'firefox'
ff = Watir::Browser.new
ff.goto "http://www.twitter.com"
Os motivos para usar o Watir são:
É uma ferramenta open source e não há custos para usar;
A comunidade do Watir está crescendo e é muita ativa;
Ele usa Ruby, uma linguagem de script moderna e completa e que possui uma baixa curva de aprendizado (em comparação com Java,
Ele suporta qualquer aplicação web, não importando a linguagem na qual ela foi desenvolvida;
O Watir suporta múltiplos browsers e diferentes plataformas;
Ele é poderoso, fácil de usar e ainda é bem leve.
o que precisamos saber para criar o nosso próprio teste usando o Watir é o seguinte:
O valor da propriedade name dos elementos que iremos ter que interagir para poder fazer os passos do nosso teste (o desenvolved
Numa rápida pesquisa, parece que existem IDEs de record-play (estilo o Selenium IDE) para o Watir, porém nenhuma é mantida ofic
A API do Watir, basicamente conhecer quais são os métodos que podemos usar, quando usar e quais parâmetros passar;
A linguagem Ruby, mas calma não precisa aprender toda a linguagem de uma vez, vá com calma, comece primeiro com exemplos bási
Vamos realizar um teste básico com o Watir:
O objetivo será inserir um texto no campo de busca do Google e verificar se ele confere com o esperado.
# Exemplo de uso do Watir
# Objetivo: Executar as seguintes tarefas:
# * inserir um texto no campo de buscas
# * clicar no botão
# * verificar se o resultado confere
# O teste irá buscar pelo nosso site (ruby-br)
# iniciando o watir
require "watir"
# definindo o site na variável
teste_site = "http://blogsearch.google.com.br/"
# definindo o firefox como navegador (e já iniciando ele)
Watir::Browser.default = 'firefox'
browser = Watir::Browser.new
# exibe ação na tela
puts "Iniciando o teste: busca no Google Blogs Search."
puts " Passo 1: acessando o site para o teste: " + teste_site
browser.goto teste_site
puts " Passo 2: inserir 'ruby brasil' no campo de busca."
browser.text_field(:name, "q").set "ruby brasil"
# "q" é o nome do campo de texto do Google
puts " Passo 3: clicar no botao 'Pesquisar blogs'."
browser.button(:name, "btnG").click
# "btnG" é o nome do botão
puts " Resultado Esperado:"
puts " Uma pagina de resultados deve ser apresentada. 'Ruby Brasil' devera estar na lista."
puts " Resultado Obtido:"
if browser.text.include? "Ruby Brasil"
puts " Aprovado no teste. Localizado o texto: 'Ruby Brasil'. O resultado atual confere com o resultado esperado."
else
puts " Falha no teste! Nao foi encontrado: 'Ruby Brasil'."
end
puts "Fim do teste: busca no Google Blogs Search."
Recommended