mirror of
https://github.com/teamcapybara/capybara.git
synced 2022-11-09 12:08:07 -05:00
Fix IE capability passing and click modifier tests
This commit is contained in:
parent
06663166b9
commit
be8bed811e
2 changed files with 41 additions and 2 deletions
|
@ -24,6 +24,10 @@ addons:
|
||||||
- google-chrome-beta
|
- google-chrome-beta
|
||||||
- awesome
|
- awesome
|
||||||
|
|
||||||
|
branches:
|
||||||
|
except:
|
||||||
|
- /^ie_/
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
bundler: true
|
bundler: true
|
||||||
directories:
|
directories:
|
||||||
|
|
|
@ -7,10 +7,13 @@ require 'rspec/shared_spec_matchers'
|
||||||
|
|
||||||
Capybara.register_driver :selenium_ie do |app|
|
Capybara.register_driver :selenium_ie do |app|
|
||||||
# ::Selenium::WebDriver.logger.level = "debug"
|
# ::Selenium::WebDriver.logger.level = "debug"
|
||||||
|
options = ::Selenium::WebDriver::IE::Options.new
|
||||||
|
options.require_window_focus = true
|
||||||
Capybara::Selenium::Driver.new(
|
Capybara::Selenium::Driver.new(
|
||||||
app,
|
app,
|
||||||
browser: :ie,
|
browser: :ie,
|
||||||
desired_capabilities: ::Selenium::WebDriver::Remote::Capabilities.ie('requireWindowFocus': true)
|
desired_capabilities: ::Selenium::WebDriver::Remote::Capabilities.ie,
|
||||||
|
options: options
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -33,7 +36,15 @@ Capybara::SpecHelper.run_specs TestSessions::SeleniumIE, 'selenium', capybara_sk
|
||||||
when /#fill_in with Date /
|
when /#fill_in with Date /
|
||||||
pending "IE 11 doesn't support date input types"
|
pending "IE 11 doesn't support date input types"
|
||||||
when /#click_link_or_button with :disabled option happily clicks on links which incorrectly have the disabled attribute$/
|
when /#click_link_or_button with :disabled option happily clicks on links which incorrectly have the disabled attribute$/
|
||||||
pending 'IE 11 obeys non-standard disabled attribute on anchor tag'
|
skip 'IE 11 obeys non-standard disabled attribute on anchor tag'
|
||||||
|
when /#right_click should allow modifiers$/
|
||||||
|
skip "Windows can't :meta click because :meta triggers start menu"
|
||||||
|
when /#click should allow multiple modifiers$/
|
||||||
|
skip "Windows can't :meta click because :meta triggers start menu"
|
||||||
|
when /#double_click should allow multiple modifiers$/
|
||||||
|
skip "Windows can't :alt double click due to being properties shortcut"
|
||||||
|
when /via clicking the wrapping label if possible$/
|
||||||
|
pending "IEDriver has an issue with the click location of elements with multiple children if the first child is a text node and the page is scrolled"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -42,3 +53,27 @@ RSpec.describe 'Capybara::Session with Internet Explorer', capybara_skip: skippe
|
||||||
include_examples 'Capybara::Session', TestSessions::SeleniumIE, :selenium_ie
|
include_examples 'Capybara::Session', TestSessions::SeleniumIE, :selenium_ie
|
||||||
include_examples Capybara::RSpecMatchers, TestSessions::SeleniumIE, :selenium_ie
|
include_examples Capybara::RSpecMatchers, TestSessions::SeleniumIE, :selenium_ie
|
||||||
end
|
end
|
||||||
|
|
||||||
|
RSpec.describe Capybara::Selenium::Node do
|
||||||
|
it '#right_click should allow modifiers' do
|
||||||
|
session = TestSessions::SeleniumIE
|
||||||
|
session.visit('/with_js')
|
||||||
|
session.find(:css, '#click-test').right_click(:control)
|
||||||
|
expect(session).to have_link('Has been control right clicked')
|
||||||
|
end
|
||||||
|
|
||||||
|
it '#click should allow multiple modifiers' do
|
||||||
|
session = TestSessions::SeleniumIE
|
||||||
|
session.visit('with_js')
|
||||||
|
# IE triggers system behavior with :meta so can't use those here
|
||||||
|
session.find(:css, '#click-test').click(:ctrl, :shift, :alt)
|
||||||
|
expect(session).to have_link('Has been alt control shift clicked')
|
||||||
|
end
|
||||||
|
|
||||||
|
it '#double_click should allow modifiers' do
|
||||||
|
session = TestSessions::SeleniumIE
|
||||||
|
session.visit('/with_js')
|
||||||
|
session.find(:css, '#click-test').double_click(:shift)
|
||||||
|
expect(@session).to have_link('Has been shift double clicked')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue