Skip to content

Instantly share code, notes, and snippets.

@FabricioFFC
Created March 8, 2011 20:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save FabricioFFC/860942 to your computer and use it in GitHub Desktop.
Save FabricioFFC/860942 to your computer and use it in GitHub Desktop.
Testing Twitter with Watir
require 'rubygems'
require 'watir'
#require 'firewatir' => se você estiver no Linux/Mac
class HomePage
HOME_PAGE = 'twitter.com'
def initialize
@browser = Watir::Browser.new
end
def visit
@browser.goto(HOME_PAGE)
end
def login(username, password)
@browser.text_field(:name, 'session[username_or_email]').value = username
@browser.text_field(:name, 'session[password]').value = password
@browser.button(:class, 'submit button').click
end
def type_message(message)
@browser.text_field(:class, 'twitter-anywhere-tweet-box-editor').value = message
@browser.text_field(:class, 'twitter-anywhere-tweet-box-editor').fire_event("onMouseDown")
end
def tweet
@browser.link(:class, "tweet-button button").click
end
def message_exists?(message)
@browser.wait_until {@browser.div(:class, 'tweet-text').text == message}
end
def alert_message_exists?(message)
@browser.wait_until {@browser.text.include? message}
end
def tweet_button_is_disabled?
@browser.link(:class, "tweet-button button disabled").exists?
end
end
USERNAME = 'vcrawler4'
PASSWORD = 'v1z12010'
MESSAGE = 'testando o Twitter'
MESSAGE_WITH_MORE_THAN_140_CHARACTERS = 'testando o limite de caracteres na mensagem no
Twitter, chegou? ainda nao? nao? nao? ainda nao? quando vamos chegar? estamos perto? chegamos!'
TWITTER_REPEATED_MESSAGE = 'Whoops! You already said that...'
#Teste 1 - Enviar uma mensagem válida
home_page = HomePage.new
home_page.visit
home_page.login(USERNAME,PASSWORD)
home_page.type_message(MESSAGE)
home_page.tweet
message = 'O teste enviar uma mensagem válida'
if home_page.message_exists? MESSAGE
puts "#{message} PASSOU"
else
puts "#{message} FALHOU"
end
#Teste 2 - Enviar uma mensagem repetida
home_page.type_message(MESSAGE)
home_page.tweet
message = 'O teste enviar uma mensagem repetida'
if home_page.alert_message_exists? TWITTER_REPEATED_MESSAGE
puts "#{message} PASSOU"
else
puts "#{message} FALHOU"
end
#Teste 3 - Enviar uma mensagem com mais de 140 caracteres
home_page.type_message(MESSAGE_WITH_MORE_THAN_140_CHARACTERS)
message = 'O teste enviar uma mensagem com mais de 140 caracteres'
if home_page.tweet_button_is_disabled?
puts "#{message} PASSOU"
else
puts "#{message} FALHOU"
end
#Teste 4 - Enviar uma mensagem em branco
home_page.type_message('')
message = 'O teste enviar uma mensagem em branco'
if home_page.tweet_button_is_disabled?
puts "#{message} PASSOU"
else
puts "#{message} FALHOU"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment