Created
March 8, 2011 20:18
-
-
Save FabricioFFC/860942 to your computer and use it in GitHub Desktop.
Testing Twitter with Watir
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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