以下是我的设置,只有三个文件开始。没有文件夹结构

宝石文件

gem 'capybara'
gem 'selenium-webdriver'

spec_helper.rb

require 'capybara/,ruby,selenium-webdriver,capybara,headless"/>
	














首页 > 解决方案 > Capybara 使用 Selenium webdriver 未定义方法 `visit' for #

以下是我的设置,只有三个文件开始。没有文件夹结构

宝石文件

gem 'capybara'
gem 'selenium-webdriver'

spec_helper.rb

require 'capybara/

问题描述

以下是我的设置,只有三个文件开始。没有文件夹结构

宝石文件

gem 'capybara'
gem 'selenium-webdriver'

spec_helper.rb

require 'capybara/rspec'
require "selenium/webdriver"

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome)
end

Capybara.register_driver :headless_chrome do |app|
  capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
    chromeOptions: { args: %w(headless disable-gpu) }
  )

  Capybara::Selenium::Driver.new app,
    browser: :chrome,
    desired_capabilities: capabilities
end

Capybara.javascript_driver = :headless_chrome

运行.rb

require_relative 'spec_helper'
describe "test process" do
    it "checks google" do
        visit("www.google.com")
        puts "LAUNCHED"
    end
end

测试新手。任何帮助,将不胜感激。

我运行它使用

rspec run.rb


转到您的电脑设置并寻找代理

把它全部关掉

对我有用

标签: rubyselenium-webdrivercapybaraheadless

解决方案


默认情况下,Capybaras 方法仅包含在 :feature 和 :system 类型的 RSpec 测试中 - https://github.com/teamcapybara/capybara/blob/master/lib/capybara/rspec.rb#L10

用正确的类型标记您的测试,方法将可用

describe 'test proces', type: :feature do

推荐阅读