Exception: Capybara::Cuprite::MouseEventFailed

Inherits:
ClientError show all
Defined in:
lib/capybara/cuprite/errors.rb

Instance Attribute Summary collapse

Attributes inherited from ClientError

#response

Instance Method Summary collapse

Constructor Details

#initializeMouseEventFailed

Returns a new instance of MouseEventFailed.



31
32
33
34
35
36
# File 'lib/capybara/cuprite/errors.rb', line 31

def initialize(*)
  super
  data = /\A\w+: (\w+), (.+?), ([\d.-]+), ([\d.-]+)/.match(@response)
  @name, @selector = data.values_at(1, 2)
  @position = data.values_at(3, 4).map(&:to_f)
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



29
30
31
# File 'lib/capybara/cuprite/errors.rb', line 29

def name
  @name
end

#positionObject (readonly)

Returns the value of attribute position.



29
30
31
# File 'lib/capybara/cuprite/errors.rb', line 29

def position
  @position
end

#selectorObject (readonly)

Returns the value of attribute selector.



29
30
31
# File 'lib/capybara/cuprite/errors.rb', line 29

def selector
  @selector
end

Instance Method Details

#messageObject



38
39
40
41
42
43
# File 'lib/capybara/cuprite/errors.rb', line 38

def message
  "Firing a #{name} at coordinates [#{position.join(', ')}] failed. Cuprite detected " \
    "another element with CSS selector \"#{selector}\" at this position. " \
    "It may be overlapping the element you are trying to interact with. " \
    "If you don't care about overlapping elements, try using node.trigger(\"#{name}\")."
end