如何使用无会话前缀的水豚来访。为main:Object(NoMethodError)获取未定义的方法“访问”

问题描述 投票:0回答:1

编写我可以使用的独立代码

session.visit('/forms')

但是我怎么用

visit('/forms')

代码:

require 'webdrivers'
require 'rspec'
require 'capybara'
require 'capybara/rspec'
Capybara.configure do |config|
  config.run_server = false
  config.default_driver = :chrome
  config.app_host = 'https://google.com'
end
options = Selenium::WebDriver::Chrome::Options.new(args: ['window-size=1200,1200'])
Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end

session = Capybara::Session.new(:chrome)
session.visit('/forms') # <-- this works :)
visit('/forms')         # <-- but this doesn't :(

我知道

undefined method `visit' for main:Object (NoMethodError)
ruby selenium capybara
1个回答
0
投票

一个选项是使用包含Capybara::DSL,即

include Capybara::DSL
session = Capybara::Session.new(:chrome)
visit('/forms')

但是这确实会发出警告

including Capybara::DSL in the global scope is not recommended!

不确定如何解决。

© www.soinside.com 2019 - 2024. All rights reserved.