简体   繁体   English

无法使用黄瓜运行 ruby​​ 自动化文件 - 无法加载此类文件 - 水豚(LoadError)

[英]Can't run ruby automation file with cucumber - cannot load such file -- capybara (LoadError)

When I run cucumber , I get this error当我运行黄瓜时,出现此错误

cannot load such file -- capybara (LoadError)无法加载这样的文件——水豚(LoadError)

According to this answer that's because i don't have poltergeist installed.根据这个答案,那是因为我没有安装 poltergeist。

And if I run gem install poltergeist , I get如果我运行gem install poltergeist ,我会得到

ERROR: While executing gem ... (ArgumentError) wrong number of arguments (given 1, expected 0)错误:执行 gem 时 ... (ArgumentError) 错误数量的参数(给定 1,预期为 0)

If I run gem list capybara , I just get如果我运行gem list capybara ,我就会得到

* LOCAL GEMS * * 本地宝石 *

For last, this is what part of my env.rb file looks like最后,这是我的 env.rb 文件的一部分

Learn more or give us feedback
require 'selenium-webdriver'
require 'capybara'
require 'capybara/poltergeist'
require 'capybara/cucumber'

$browser = ENV['browser'] ||:chrome
$browser = $browser.to_sym

$driver = ENV['driver'] || :selenium
$driver = $driver.to_sym

puts "Driver: #{$driver}"
puts "Browser: #{$browser}"

# For browser Firefox, geckodriver is required: https://github.com/mozilla/geckodriver/releases
# echo $PATH
# cd into geckodriver directory (probably Downloads) and extract from zip/tar
# mv geckodriver /usr/local/bin/ (or whatever your $PATH is)
# Run Firefox with:
# cucumber /dir/some.feature driver=selenium browser=firefox

Capybara.default_driver = $driver

Capybara.register_driver :selenium do |app|
    Capybara::Selenium::Driver.new(app, :browser => $browser,)
end

Capybara.register_driver :poltergeist do |app|
    Capybara::Poltergeist::Driver.new(app, {js_errors: false, phantomjs_options: ['--ssl-protocol=auto']})
    $platform = 'poltergeist'
end

Any help will be appreciated任何帮助将不胜感激

You don't want or need Poltergeist anymore, it's obsolete.你不再想要或不再需要 Poltergeist,它已经过时了。 Instead add capybara to your Gemfile, or if not using a Gemfile run gem install capybara .而是将 capybara 添加到您的 Gemfile 中,或者如果不使用 Gemfile 运行gem install capybara capybara 。 Also you should be doing require 'capybara/dsl ' instead of 'require 'capybara'`你也应该做require 'capybara/dsl ' 而不是 'require 'capybara'`

See : https://github.com/teamcapybara/capybara/blob/master/README.md#setup见: https : //github.com/teamcapybara/capybara/blob/master/README.md#setup

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM