2016-11-03 10 views
0

Это похоже на gem sauce-3.5.11 использует устаревший метод 'inside_frame'. Я также попытался перейти на более старую версию, но я получаю ту же ошибкуСоус :: Capybara :: Драйвер использует устаревший метод 'inside_frame'

 
undefined method `within_frame' for class `Sauce::Capybara::Driver' (NameError) 
/Users/user/.rvm/gems/ruby-2.2.4/gems/sauce-3.5.11/lib/sauce/capybara.rb:41:in `' 
/Users/user/.rvm/gems/ruby-2.2.4/gems/sauce-3.5.11/lib/sauce/capybara.rb:12:in `' 
/Users/user/.rvm/gems/ruby-2.2.4/gems/sauce-3.5.11/lib/sauce/capybara.rb:11:in `' 
/Users/user/.rvm/gems/ruby-2.2.4/gems/sauce-3.5.11/lib/sauce/capybara.rb:10:in `' 
 
RubyGems Environment: 
    - RUBYGEMS VERSION: 2.4.8 
    - RUBY VERSION: 2.2.4 (2015-12-16 patchlevel 230) [x86_64-darwin14.5.0] 
    - INSTALLATION DIRECTORY: /Users/user/.rvm/gems/ruby-2.2.4 
    - RUBY EXECUTABLE: /Users/user/.rvm/rubies/ruby-2.2.4/bin/ruby 
    - EXECUTABLE DIRECTORY: /Users/user/.rvm/gems/ruby-2.2.4/bin 
    - SPEC CACHE DIRECTORY: /Users/user/.gem/specs 
    - SYSTEM CONFIGURATION DIRECTORY: /Users/user/.rvm/rubies/ruby-2.2.4/etc 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-darwin-14 
    - GEM PATHS: 
    - /Users/user/.rvm/gems/ruby-2.2.4 
    - /Users/user/.rvm/gems/[email protected] 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - https://rubygems.org/ 
    - SHELL PATH: 
    - /Users/user/.rvm/gems/ruby-2.2.4/bin 
    - /Users/user/.rvm/gems/[email protected]/bin 
    - /Users/user/.rvm/rubies/ruby-2.2.4/bin 
    - /Users/user/.rvm/bin 
    - /usr/local/bin 
    - /usr/bin 
    - /bin 
    - /usr/sbin 
    - /sbin 
    - /opt/X11/bin 

ответ

1

соус камень не был обновлен для поддержки кадров изменения API, которые произошли в драйвере селена (который водитель соус вытекает из) в Капибара 2.8, а так как весь соус камень является устаревшим я бы Думаю, этого не будет. Вы можете либо заблокировать файл capybara 2.7.1, либо посмотреть еще раз в свой стек, выяснить, почему код вызывает int_frame непосредственно в драйвере, и вместо этого попробуйте называть его на сеансе, как и должно быть.

page.driver.within_frame(...) # wrong 
page.within_frame(...) # correct 
+0

заблокирован драгоценный камень capybara до 2.7.1, и теперь он работает как шарм! благодаря! –