require 'capybara/dsl'
require 'capybara-webkit'
# Registro il Driver Crome
Capybara.register_driver :selenium_chrome do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
Capybara.default_driver = :selenium_chrome
Capybara.app_host = "https://exau.casc.eu/ca/web/pages/welcome.iface"
module Test
class Casc
include Capybara::DSL
def set_session(id)
Capybara.instance_variable_set("@session_pool", {
"#{Capybara.current_driver}#{Capybara.app.object_id}" => $sessions[id]
})
end
def in_session(id, &block)
$sessions ||= {}
$sessions[:default] ||= Capybara.current_session
$sessions[id] ||= Capybara::Session.new(Capybara.current_driver, Capybara.app)
set_session(id)
yield
set_session(:default)
end
def home()
$sessions ||= {}
a=Thread.new do
$sessions["uno"] = Capybara::Session.new(Capybara.current_driver, Capybara.app)
Capybara.instance_variable_set("@session_pool", {
"#{Capybara.current_driver}#{Capybara.app.object_id}" => $sessions["uno"]
})
$sessions["uno"].visit('/')
$sessions["uno"].fill_in "username", :with => "michele.boscolo@eni.com"
end
b=Thread.new do
$sessions["due"] = Capybara::Session.new(Capybara.current_driver, Capybara.app)
Capybara.instance_variable_set("@session_pool", {
"#{Capybara.current_driver}#{Capybara.app.object_id}" => $sessions["due"]
})
$sessions["due"].visit('/')
$sessions["due"].fill_in "username", :with => "michele.boscolo@eni.com"
end
# Attendo che i Thread finiscano
a.join(20)
b.join(20)
end
end
end
spider = Test::Casc.new
spider.home()