«Включать Capybara :: DSL в глобальную сферу применения не рекомендуется!» хочу удалить это. предупреждение консоли - PullRequest
1 голос
/ 16 марта 2020

Для устранения ошибки посещение не найдено. Я включил 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

Может кто-нибудь пожалуйста предложить, если я делаю что-то не так. Я попробовал какое-то предложение, но у меня не получилось

1 Ответ

2 голосов
/ 16 марта 2020

У меня была похожая проблема, я пробовал много вещей, но мне удалось удалить config.include Capybara :: DSL из spec_helper и включить LoginHelper в модуль Helpers. В вашем случае они могут выглядеть так:

login_helper.rb

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 будет выглядеть так:

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

Спасибо! Пожалуйста, дайте мне знать, если у вас есть какие-либо сомнения

...