Use property instead of execute_script
This commit is contained in:
parent
979e29d4d2
commit
18a7516de8
|
@ -14,9 +14,9 @@ class Capybara::Selenium::Node
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def draggable?
|
def html5_draggable?
|
||||||
# Workaround https://github.com/SeleniumHQ/selenium/issues/6396
|
# Workaround https://github.com/SeleniumHQ/selenium/issues/6396
|
||||||
driver.evaluate_script('arguments[0]["draggable"]', self) == true
|
native.property('draggable')
|
||||||
end
|
end
|
||||||
|
|
||||||
MOUSEDOWN_TRACKER = <<~JS
|
MOUSEDOWN_TRACKER = <<~JS
|
||||||
|
|
|
@ -15,7 +15,7 @@ class Capybara::Selenium::ChromeNode < Capybara::Selenium::Node
|
||||||
end
|
end
|
||||||
|
|
||||||
def drag_to(element)
|
def drag_to(element)
|
||||||
return super unless draggable?
|
return super unless html5_draggable?
|
||||||
html5_drag_to(element)
|
html5_drag_to(element)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require 'capybara/selenium/extensions/html5_drag'
|
require 'capybara/selenium/extensions/html5_drag'
|
||||||
|
|
||||||
class Capybara::Selenium::MarionetteNode < Capybara::Selenium::Node
|
class Capybara::Selenium::MarionetteNode < Capybara::Selenium::Node
|
||||||
|
@ -57,7 +58,7 @@ class Capybara::Selenium::MarionetteNode < Capybara::Selenium::Node
|
||||||
end
|
end
|
||||||
|
|
||||||
def drag_to(element)
|
def drag_to(element)
|
||||||
return super unless (browser_version >= 62.0) && draggable?
|
return super unless (browser_version >= 62.0) && html5_draggable?
|
||||||
html5_drag_to(element)
|
html5_drag_to(element)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue