Closed
Description
Note: Hi there, not sure if it is capybara issue or selenium-webdriver
When hover
method is called I'm receiving such error wrong number of arguments (given 4, expected 2)
It happened after I upgraded to 3.32.0 version of capybara
Next change in capybara gem causes this error
Capybara:
fcb5e1b#diff-fb0d5aa4dd5a7c98ac50fafad9e73d17R4
Selenium-Webdriver code:
https://github.com/SeleniumHQ/selenium/blob/master/rb/lib/selenium/webdriver/remote/bridge.rb#L369
But I'm not sure where it should be fixed. On selenium-webdriver or capybara side
Meta
Capybara Version:
3.32.0
Driver Information (and browser if relevant):
selenium-webdriver 4.0.0.alpha5
Expected Behavior
hover method should work
Actual Behavior
# Exception stack
ArgumentError:
wrong number of arguments (given 4, expected 2)
# /home/******/.rvm/gems/ruby-2.7.0@*****/gems/capybara-3.32.0/lib/capybara/selenium/patches/action_pauser.rb:4:in `initialize'
# /home/******/.rvm/gems/ruby-2.7.0@*****/gems/selenium-webdriver-4.0.0.alpha4/lib/selenium/webdriver/remote/bridge.rb:369:in `new'
# /home/******/.rvm/gems/ruby-2.7.0@*****/gems/selenium-webdriver-4.0.0.alpha4/lib/selenium/webdriver/remote/bridge.rb:369:in `action'
# /home/******/.rvm/gems/ruby-2.7.0@*****/gems/selenium-webdriver-4.0.0.alpha4/lib/selenium/webdriver/common/driver.rb:117:in `action'
# /home/******/.rvm/gems/ruby-2.7.0@*****/gems/capybara-3.32.0/lib/capybara/selenium/node.rb:440:in `browser_action'
# /home/******/.rvm/gems/ruby-2.7.0@*****/gems/capybara-3.32.0/lib/capybara/selenium/node.rb:161:in `block in hover'
# /home/******/.rvm/gems/ruby-2.7.0@*****/gems/capybara-3.32.0/lib/capybara/selenium/node.rb:224:in `scroll_if_needed'
# /home/******/.rvm/gems/ruby-2.7.0@*****/gems/capybara-3.32.0/lib/capybara/selenium/node.rb:161:in `hover'
# /home/******/.rvm/gems/ruby-2.7.0@*****/gems/capybara-3.32.0/lib/capybara/node/element.rb:285:in `block in hover'
# /home/******/.rvm/gems/ruby-2.7.0@*****/gems/capybara-3.32.0/lib/capybara/node/base.rb:83:in `synchronize'
# /home/******/.rvm/gems/ruby-2.7.0@*****/gems/capybara-3.32.0/lib/capybara/node/element.rb:285:in `hover'
# ./spec/features/documentation_spec.rb:34:in `block (3 levels) in <top (required)>'
# /home/******/.rvm/gems/ruby-2.7.0@******/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# /home/******/.rvm/gems/ruby-2.7.0@******/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# /home/******/.rvm/gems/ruby-2.7.0@******/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# /home/******/.rvm/gems/ruby-2.7.0@******/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# ./spec/spec_helper.rb:90:in `block (2 levels) in <top (required)>'
# /home/******/.rvm/gems/ruby-2.7.0@*******/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# /home/******/.rvm/gems/ruby-2.7.0@*******/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# /home/******/.rvm/gems/ruby-2.7.0@*******/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# /home/******/.rvm/gems/ruby-2.7.0@*******/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# /home/******/.rvm/gems/ruby-2.7.0@*******/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'
Steps to reproduce
Just use call hover method on found element
find('[data-js="demo-keys-hint"]', match: :first).hover
Activity
twalpole commentedon Apr 3, 2020
This looks like it is because Selenium changed a class name in the 4.0 alpha - Please stick with 3.31 Capybara for now - this'll be fixed over the weekend
differencialx commentedon Apr 3, 2020
@twalpole Thank you
twalpole commentedon Apr 3, 2020
@differencialx Actually, could you please try the
pause_fix
branch of this repo and see if that fixes your issuedifferencialx commentedon Apr 3, 2020
@twalpole yes, using
pause_fix
branch fixes the issue and using ofcapybara 3.31.0
also fixes this issueMerge pull request #2335 from teamcapybara/pause_fix
twalpole commentedon Apr 4, 2020
Fixed via PR #2335
differencialx commentedon Apr 6, 2020
👍