我正在尝试使用Capybara,Cucumber和SitePrism建立一个基本框架,但是当我开始测试时,我一直收到错误,“未初始化的常量SitePrism(NameError)”。
的Gemfile:
gem 'cucumber', '2.3.3'
gem 'capybara', '2.6.2'
gem 'selenium-webdriver', '2.53.0'
gem 'rspec'
gem 'site_prism'
gem 'mime-types', '>2.6', '<2.99.1'
Env.rb
require 'capybara'
require 'capybara/rspec'
require 'capybara/dsl'
require 'capybara/cucumber'
require 'selenium-webdriver'
require 'site_prism'
require 'cucumber'
require_rel '../features/pages'
require_rel '../features/classes'
World(Capybara::DSL)
World(Capybara::RSpecMatchers)
登录页面
class LoginPage < SitePrism::Page
end
登录类
class Login
def initialize
@current_page = LoginPage.new
end
使用“class LoginPage&lt; SitePrism :: Page”抛出错误。 RubyMine无法找到SitePrism声明。我在设置中遗漏了什么吗?
答案 0 :(得分:1)
您的错误看起来需要&#39;相关的,但这是我如何通过以下工作: https://github.com/thuss/standalone-cucumber
Haven在一段时间内没有使用过黄瓜,但我看到的方式是&#34;页面&#34;目前在我的Rails项目中实现:
也许这可行:
特征性/支撑性/页/ login_page.rb
module Pages
module LoginPage
class LoginPageObj < SitePrism::Page
end
def login_obj
LoginPageObj.new
end
end
end
World(Pages::LoginPage)
环境档案:
require 'capybara'
require 'capybara/cucumber'
require 'site_prism'
Capybara.configure do |config|
config.default_driver = :selenium
config.app_host = 'http://www.google.com'
end
World(Capybara::DSL)
World(Capybara::RSpecMatchers)
请注意我没有明确要求任何网页类,看起来黄瓜可能会要求你吗?
答案 1 :(得分:0)
所以出现此问题的原因是由于文件正在自动加载。只需确保首先require
个gem文件即可理解名称空间