【问题标题】:Launching IE and Chrome browser using Capybara, Selenium, Ruby使用 Capybara、Selenium、Ruby 启动 IE 和 Chrome 浏览器
【发布时间】:2017-05-14 14:49:19
【问题描述】:

我是 Cucumber 和 Capybara 的新手。我正在尝试启动 IE 和 Chrome 浏览器。 我已经下载了两者的驱动程序并将它们复制到 C 驱动器中 Ruby 的 bin 文件夹中。 我在 Env var 中设置了路径。 下面是我的 support/env.rb 文件代码

require 'rubygems'
require 'capybara'
require 'capybara/dsl'
require 'capybara/rspec'
require 'selenium-webdriver'
require 'capybara/cucumber'

Capybara.run_server = false
#Set default driver as Selenium
Capybara.default_driver = :selenium
#Set default selector as css
Capybara.default_selector = :css

#Syncronization related settings
module Helpers
  def without_resynchronize
    page.driver.options[:resynchronize] = false
    yield
    page.driver.options[:resynchronize] = true
  end
end
Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, :browser => chrome)  #Getting error at this line
end
World(Capybara::DSL, Helpers)

我收到与注释一致的编译错误如下。

传递给方法的参数数量与方法参数数量不匹配的方法调用。

这是我的环境:

黄瓜 (2.4.0)
selenium-webdriver (3.0.3)
水豚 (2.11.0)
rspec (3.5.0)
红宝石 2.3

【问题讨论】:

    标签: ruby selenium rspec cucumber capybara


    【解决方案1】:

    Capybara::Selenium::Driver.new(app, :browser => chrome) 试试改成Capybara::Selenium::Driver.new(app, :browser => :chrome)

    【讨论】:

    • 嗨彼得,我尝试了你建议的这个选项。我仍然面临与问题中提到的相同的问题。
    • 您好,我已经在我的机器上使用相同的配置(Ruby 版本除外)进行了测试,并且可以正常工作。
    • 你可以试试这个:Capybara.register_driver :chrome do |app|
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多