编写我可以使用的独立代码
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)
一个选项是使用包含Capybara::DSL
,即
include Capybara::DSL
session = Capybara::Session.new(:chrome)
visit('/forms')
但是这确实会发出警告
including Capybara::DSL in the global scope is not recommended!
不确定如何解决。