SlideShare uma empresa Scribd logo
1 de 11
Web Application Testing in Ruby
Ruby
                         Ruby foi apresentada ao público pela primeira vez em
                          Ruby é uma linguagem totalmente orientada a obje
                          Curiosamente é uma das únicas linguagens nascid




Uma de suas principais características é a expressividade que possui. Teve-se

    Hellow World.rb

                           puts "Olá Mundo"
é um framework de desenvolvimento web escrito na linguag
             Rails



Rails é um software com opinião. Isto é, ele supõe que existe um modo melhor para fa
Se você aprender “O Modo Rails” vai provavelmente descobrir um aumento tremendo




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
Convenção ao invés de Configuração – significa que o Rails faz suposições sobre o que você qu
REST é o melhor modelo para aplicações web – organizar sua aplicação em torno de recursos e
Watir

Imagine poder simular através de código Ruby os passos de um usuário acessa
Isso facilitaria muito o teste de aplicações para web, não é mesmo? Seus proble



Na prática, é como se você programasse um robozinho para acessar o navegad
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
Ele suporta qualquer aplicação web, não importando a linguagem na qual ela fo
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 se
O valor da propriedade name dos elementos que iremos ter que interagir para p
Numa rápida pesquisa, parece que existem IDEs de record-play (estilo o Seleni
A API do Watir, basicamente conhecer quais são os métodos que podemos usar
A linguagem Ruby, mas calma não precisa aprender toda a linguagem de uma v
Vamos realizar um teste básico com o Watir:




                    O objetivo será inserir um texto no campo de busca do Go
# 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."
Teste Watir
Teste Watir

Mais conteúdo relacionado

Mais procurados

Test Automation Using Selenium
Test Automation Using SeleniumTest Automation Using Selenium
Test Automation Using Selenium
Nikhil Kapoor
 
Expose your event-driven data to the outside world using webhooks powered by ...
Expose your event-driven data to the outside world using webhooks powered by ...Expose your event-driven data to the outside world using webhooks powered by ...
Expose your event-driven data to the outside world using webhooks powered by ...
HostedbyConfluent
 
SignalR for ASP.NET Developers
SignalR for ASP.NET DevelopersSignalR for ASP.NET Developers
SignalR for ASP.NET Developers
Shivanand Arur
 

Mais procurados (20)

Selenium test automation
Selenium test automationSelenium test automation
Selenium test automation
 
Test Automation Using Selenium
Test Automation Using SeleniumTest Automation Using Selenium
Test Automation Using Selenium
 
Test Case Creation in Katalon Studio
Test Case Creation in Katalon StudioTest Case Creation in Katalon Studio
Test Case Creation in Katalon Studio
 
모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415
 
Framework de automação de teste Robotium
Framework de automação de teste RobotiumFramework de automação de teste Robotium
Framework de automação de teste Robotium
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
Expose your event-driven data to the outside world using webhooks powered by ...
Expose your event-driven data to the outside world using webhooks powered by ...Expose your event-driven data to the outside world using webhooks powered by ...
Expose your event-driven data to the outside world using webhooks powered by ...
 
SignalR for ASP.NET Developers
SignalR for ASP.NET DevelopersSignalR for ASP.NET Developers
SignalR for ASP.NET Developers
 
Selenium
SeleniumSelenium
Selenium
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
 
Automação e virtualização de serviços
Automação e virtualização de serviçosAutomação e virtualização de serviços
Automação e virtualização de serviços
 
Testes de ponta a ponta
Testes de ponta a pontaTestes de ponta a ponta
Testes de ponta a ponta
 
Scrum
ScrumScrum
Scrum
 
Webdriver.io
Webdriver.io Webdriver.io
Webdriver.io
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Selenium WebDriver training
Selenium WebDriver trainingSelenium WebDriver training
Selenium WebDriver training
 
An overview of selenium webdriver
An overview of selenium webdriverAn overview of selenium webdriver
An overview of selenium webdriver
 
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
 
Intro to signalR
Intro to signalRIntro to signalR
Intro to signalR
 
Clojure: do zero ao deploy de uma API REST
Clojure: do zero ao deploy de uma API RESTClojure: do zero ao deploy de uma API REST
Clojure: do zero ao deploy de uma API REST
 

Semelhante a Teste Watir

ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
elliando dias
 
Slides do curso Programação web com RubyOnRails
Slides do curso Programação web com RubyOnRailsSlides do curso Programação web com RubyOnRails
Slides do curso Programação web com RubyOnRails
Tiago Godinho
 

Semelhante a Teste Watir (20)

Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filho
 
Ruby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhosRuby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhos
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)
 
Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01
 
Ruby and Rails
Ruby and RailsRuby and Rails
Ruby and Rails
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
 
Introdução ao Ruby on Rails (InstallFest 2006)
Introdução ao Ruby on Rails (InstallFest 2006)Introdução ao Ruby on Rails (InstallFest 2006)
Introdução ao Ruby on Rails (InstallFest 2006)
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011
 
Introdução á linguagem Ruby com aplicativo em Rails
Introdução á linguagem Ruby com aplicativo em RailsIntrodução á linguagem Ruby com aplicativo em Rails
Introdução á linguagem Ruby com aplicativo em Rails
 
Abordagem geral - Ruby on rails
Abordagem geral - Ruby on railsAbordagem geral - Ruby on rails
Abordagem geral - Ruby on rails
 
Ruby on Rails e o Mercado
Ruby on Rails e o MercadoRuby on Rails e o Mercado
Ruby on Rails e o Mercado
 
Ruby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João PessoaRuby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João Pessoa
 
Como Rails e DHH revolucionaram a engenharia de software
Como Rails e DHH revolucionaram a engenharia de software Como Rails e DHH revolucionaram a engenharia de software
Como Rails e DHH revolucionaram a engenharia de software
 
Rails
RailsRails
Rails
 
Apresentação de ruby parte 5
Apresentação de ruby parte 5Apresentação de ruby parte 5
Apresentação de ruby parte 5
 
RoR Beta
RoR BetaRoR Beta
RoR Beta
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Rails 03
Rails 03Rails 03
Rails 03
 
Slides do curso Programação web com RubyOnRails
Slides do curso Programação web com RubyOnRailsSlides do curso Programação web com RubyOnRails
Slides do curso Programação web com RubyOnRails
 

Teste Watir

  • 2. Ruby Ruby foi apresentada ao público pela primeira vez em Ruby é uma linguagem totalmente orientada a obje Curiosamente é uma das únicas linguagens nascid Uma de suas principais características é a expressividade que possui. Teve-se Hellow World.rb puts "Olá Mundo"
  • 3. é um framework de desenvolvimento web escrito na linguag Rails Rails é um software com opinião. Isto é, ele supõe que existe um modo melhor para fa Se você aprender “O Modo Rails” vai provavelmente descobrir um aumento tremendo 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 Convenção ao invés de Configuração – significa que o Rails faz suposições sobre o que você qu REST é o melhor modelo para aplicações web – organizar sua aplicação em torno de recursos e
  • 4. Watir Imagine poder simular através de código Ruby os passos de um usuário acessa Isso facilitaria muito o teste de aplicações para web, não é mesmo? Seus proble Na prática, é como se você programasse um robozinho para acessar o navegad
  • 5. require 'watir' Watir::Browser.default = 'firefox' ff = Watir::Browser.new ff.goto "http://www.twitter.com"
  • 6. 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 Ele suporta qualquer aplicação web, não importando a linguagem na qual ela fo O Watir suporta múltiplos browsers e diferentes plataformas; Ele é poderoso, fácil de usar e ainda é bem leve.
  • 7. o que precisamos saber para criar o nosso próprio teste usando o Watir é o se O valor da propriedade name dos elementos que iremos ter que interagir para p Numa rápida pesquisa, parece que existem IDEs de record-play (estilo o Seleni A API do Watir, basicamente conhecer quais são os métodos que podemos usar A linguagem Ruby, mas calma não precisa aprender toda a linguagem de uma v
  • 8. Vamos realizar um teste básico com o Watir: O objetivo será inserir um texto no campo de busca do Go
  • 9. # 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."