Skip to content

Instantly share code, notes, and snippets.

@angrygorilla
Forked from maxivak/00.md
Created December 30, 2021 03:29
Show Gist options
  • Select an option

  • Save angrygorilla/6e87f424022435ac3d08ad02e9a2cf3c to your computer and use it in GitHub Desktop.

Select an option

Save angrygorilla/6e87f424022435ac3d08ad02e9a2cf3c to your computer and use it in GitHub Desktop.
Selenium tests on Ruby

Selenium tests on Ruby

Install

gems:

  • gem 'capybara', '2.10.1'
  • gem 'selenium-webdriver', '3.0.3'

Selenium and firefox

We will use selenium-webdriver version '3.0.3' which needs Firefox version 50.0.2.

!!! IMPORTANT!!! Check selenium gem version is compatible with Firefox version.

Test with Selenium-webdriver

require 'rubygems'
require 'selenium-webdriver'

driver = Selenium::WebDriver.for :firefox
driver.manage.timeouts.implicit_wait = 10 # seconds

driver.get "http://stackoverflow.com"

puts "Page title is #{driver.title}"

driver.quit

Test with Capybara

require 'rubygems'
require 'capybara'
require 'capybara/dsl'

Capybara.run_server = false
Capybara.current_driver = :selenium
Capybara.app_host = 'http://stackoverflow.com'
#Capybara.server_port = 3000

module MyCapybaraTest
  class Test
    include Capybara::DSL
    
    def test
      visit('http://stackoverflow.com')
      
      puts "Page title is #{page.title}"
    end
  end
end



t = MyCapybaraTest::Test.new
t.test

Headless test

require 'selenium-webdriver'
require 'headless'


headless = Headless.new(display: 99)
headless.start

driver = Selenium::WebDriver.for :firefox
driver.navigate.to 'http://stackoverflow.com'
puts driver.title

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