Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby “;不建议将Capybara::DSL包含在全局范围内”;要删除它。控制台警告_Ruby_Capybara_Integration Testing - Fatal编程技术网

Ruby “;不建议将Capybara::DSL包含在全局范围内”;要删除它。控制台警告

Ruby “;不建议将Capybara::DSL包含在全局范围内”;要删除它。控制台警告,ruby,capybara,integration-testing,Ruby,Capybara,Integration Testing,若要解决此错误,请访问“未找到”。我已经将Capybara::DSL包含在我的一个助手模块中,如下所示: 我正在使用ruby 2.7.0 include Capybara::DSL module LoginHelper def self.login_user visit 'https://staging.have2have.it/login' within(".container-fluid") do fill_in("email", with: 'shin

若要解决此错误,请访问“未找到”。我已经将Capybara::DSL包含在我的一个助手模块中,如下所示: 我正在使用ruby 2.7.0

include Capybara::DSL

module LoginHelper
  def self.login_user
    visit 'https://staging.have2have.it/login'  
    within(".container-fluid") do
      fill_in("email", with: 'shinsaurab@gmail.com', :match => :prefer_exact)
      fill_in("password", with: '123', :match => :prefer_exact)
    end
    click_button('Log In')
  end
end
spec_helper.rb

require 'capybara'
require 'capybara/dsl'
require 'capybara/rspec'
require './spec/helpers/login_helper'

Capybara.default_driver = :selenium

RSpec.configure do |config|
  config.include Capybara::DSL
  config.include LoginHelper
end
module Helpers
  module LoginHelper
    def login_user
      visit 'https://staging.have2have.it/login'  
      within(".container-fluid") do
        fill_in("email", with: 'shinsaurab@gmail.com', :match => :prefer_exact)
        fill_in("password", with: '123', :match => :prefer_exact)
      end
      click_button('Log In')
    end
  end
end

如果我做错了什么事,谁能提出建议。我尝试了一些建议,但对我不起作用

我遇到了类似的问题,尝试了许多方法,但对我起作用的是从spec_helper中删除config.include Capybara::DSL,并在Helpers模块中包括LoginHelper。在您的情况下,它们可能如下所示:

登录\u helper.rb

require 'capybara'
require 'capybara/dsl'
require 'capybara/rspec'
require './spec/helpers/login_helper'

Capybara.default_driver = :selenium

RSpec.configure do |config|
  config.include Capybara::DSL
  config.include LoginHelper
end
module Helpers
  module LoginHelper
    def login_user
      visit 'https://staging.have2have.it/login'  
      within(".container-fluid") do
        fill_in("email", with: 'shinsaurab@gmail.com', :match => :prefer_exact)
        fill_in("password", with: '123', :match => :prefer_exact)
      end
      click_button('Log In')
    end
  end
end
而spec_助手将如下所示:

require 'capybara'
require 'capybara/dsl'
require 'capybara/rspec'
require './spec/helpers/login_helper.rb'

Capybara.default_driver = :selenium

RSpec.configure do |config|
  config.include Helpers::LoginHelper
end
谢谢!
如果您有任何疑问,请告诉我

谢谢!这对我有用,但我不知道为什么?你能解释一下为什么我们删除了config.include Capybara::DSL吗。