Skip to content

Instantly share code, notes, and snippets.

@tourdedave
Created May 14, 2014 02:54
Show Gist options
  • Save tourdedave/72ef1b93b8d8a9e602f3 to your computer and use it in GitHub Desktop.
Save tourdedave/72ef1b93b8d8a9e602f3 to your computer and use it in GitHub Desktop.
# Encoding: utf-8
require 'selenium-webdriver'
require 'rspec-expectations'
include RSpec::Matchers
def setup(browser_name, browser_version)
caps = Selenium::WebDriver::Remote::Capabilities.send(browser_name.to_sym)
caps.platform = 'Windows XP'
caps.version = browser_version.to_s
@driver = Selenium::WebDriver.for(:remote,
url: "http://#{ENV['SAUCE_USERNAME']}:#{ENV['SAUCE_ACCESS_KEY']}@\
ondemand.saucelabs.com:80/wd/hub",
desired_capabilities: caps)
end
def teardown
@driver.quit
end
BROWSERS = { firefox: '27',
chrome: '32',
internet_explorer: '8' }
def run
BROWSERS.each_pair do |browser, browser_version|
setup(browser, browser_version)
yield
teardown
end
end
run do
@driver.get 'http://the-internet.herokuapp.com/hovers'
avatar = @driver.find_element(class: 'figure')
@driver.action.move_to(avatar).perform
Selenium::WebDriver::Wait.new(timeout: 2).until do
@driver.find_element(class: 'figcaption').displayed?
end
user_url = @driver.find_element(css: '.figcaption > a').attribute('href')
expect(user_url).to eq('http://the-internet.herokuapp.com/users/1')
end
@tourdedave
Copy link
Author

SAUCE_USERNAME=your-username SAUCE_ACCESS_KEY=your-access-key ruby hovers.rb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment