mirror of
https://github.com/teamcapybara/capybara.git
synced 2022-11-09 12:08:07 -05:00
Update safari spec runner
This commit is contained in:
parent
47be0d375d
commit
001a375a23
1 changed files with 27 additions and 13 deletions
|
@ -8,27 +8,40 @@ require 'rspec/shared_spec_matchers'
|
|||
|
||||
SAFARI_DRIVER = :selenium_safari
|
||||
|
||||
if ::Selenium::WebDriver::Service.respond_to? :driver_path=
|
||||
::Selenium::WebDriver::Safari::Service
|
||||
else
|
||||
::Selenium::WebDriver::Safari
|
||||
end.driver_path = '/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver'
|
||||
# if ::Selenium::WebDriver::Service.respond_to? :driver_path=
|
||||
# ::Selenium::WebDriver::Safari::Service
|
||||
# else
|
||||
# ::Selenium::WebDriver::Safari
|
||||
# end.driver_path = '/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver'
|
||||
|
||||
browser_options = ::Selenium::WebDriver::Safari::Options.new
|
||||
# browser_options.headless! if ENV['HEADLESS']
|
||||
|
||||
Capybara.register_driver :selenium_safari do |app|
|
||||
Capybara::Selenium::Driver.new(app, browser: :safari, options: browser_options, timeout: 30).tap do |driver|
|
||||
version = Capybara::Selenium::Driver.load_selenium
|
||||
options_key = Capybara::Selenium::Driver::CAPS_VERSION.satisfied_by?(version) ? :capabilities : :options
|
||||
driver_options = { browser: :safari, timeout: 30 }.tap do |opts|
|
||||
opts[options_key] = browser_options
|
||||
end
|
||||
|
||||
Capybara::Selenium::Driver.new(app, **driver_options).tap do |driver|
|
||||
# driver.browser.download_path = Capybara.save_path
|
||||
end
|
||||
end
|
||||
|
||||
Capybara.register_driver :selenium_safari_not_clear_storage do |app|
|
||||
safari_options = {
|
||||
version = Capybara::Selenium::Driver.load_selenium
|
||||
options_key = Capybara::Selenium::Driver::CAPS_VERSION.satisfied_by?(version) ? :capabilities : :options
|
||||
driver_options = {
|
||||
browser: :safari,
|
||||
options: browser_options
|
||||
}
|
||||
Capybara::Selenium::Driver.new(app, safari_options.merge(clear_local_storage: false, clear_session_storage: false))
|
||||
clear_local_storage: false,
|
||||
clear_session_storage: false,
|
||||
timeout: 30
|
||||
}.tap do |opts|
|
||||
opts[options_key] = browser_options
|
||||
end
|
||||
|
||||
Capybara::Selenium::Driver.new(app, **driver_options)
|
||||
end
|
||||
|
||||
module TestSessions
|
||||
|
@ -64,9 +77,10 @@ Capybara::SpecHelper.run_specs TestSessions::Safari, SAFARI_DRIVER.to_s, capybar
|
|||
when 'Capybara::Session selenium_safari node #double_click should allow to adjust the offset',
|
||||
'Capybara::Session selenium_safari node #double_click should double click an element'
|
||||
pending "safardriver doesn't generate a double click event"
|
||||
when 'Capybara::Session selenium_safari node #click should allow multiple modifiers',
|
||||
/Capybara::Session selenium_safari node #(click|right_click|double_click) should allow modifiers/
|
||||
pending "safaridriver doesn't take key state into account when clicking"
|
||||
when 'Capybara::Session selenium_safari node #double_click should allow modifiers'
|
||||
pending "safaridriver doesn't generate double click with key modifiers"
|
||||
when /when w3c_click_offset is true should offset/
|
||||
pending "w3c_click_offset is not currently supported with safaridriver"
|
||||
when 'Capybara::Session selenium_safari #fill_in on a pre-populated textfield with a reformatting onchange should trigger change when clearing field'
|
||||
pending "safardriver clear doesn't generate change event"
|
||||
when 'Capybara::Session selenium_safari #go_back should fetch a response from the driver from the previous page',
|
||||
|
|
Loading…
Add table
Reference in a new issue