2016-03-28 23 views
0

Capybara, Cucumber ve SitePrism kullanarak temel bir çerçeve kurmaya çalışıyorum, ancak bir test başlattığımda "başlatılmamış sabit SitePrism (NameError)" hatasını almaya devam ediyorum.başlatılmamış sabit SitePrism sayfa declaryation

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) 

Giriş sayfasını

class LoginPage < SitePrism::Page 
end 

Girişi sınıf

class Login 

def initialize 
    @current_page = LoginPage.new 
end 

Hata, "Class LoginPage < SitePrism :: Page" sınıfıyla birlikte atılıyor. RubyMine, SitePrism bildirimini de bulamayacak şekilde bulamıyor. Kurulumda bir şey özlüyor muyum?

cevap

1

Kişisel hatası ile ilgili 'gerektiren' görünüyor, ama burada ben üzerinden çalışmak için aldım nasıl: https://github.com/thuss/standalone-cucumber

bir süredir salatalık kullanılmaz mı, ama ben "sayfalar" gördüğüm şekilde şu anda uygulanmakta benim proje raylar:

  • "özellikleri/destek/sayfalar"
  • bir dosya oluşturun ad SÖZLEŞMELERİN
  • Kullanım modüllerini izleyin ve ardından Dünya() yöntemi ile ithal.

Belki bu işe yarayabilecek:

özellikleri/destek/sayfalar/login_page.rb

module Pages 
module LoginPage 

    class LoginPageObj < SitePrism::Page 
    end 

    def login_obj 
    LoginPageObj.new 
    end 

end 
end 
World(Pages::LoginPage) 

Zarf dosyası:

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) 

Bildirim açıkça yoktu nasıl Herhangi bir sayfa sınıfı gerektirir, Salatalık sizin için gerektirebilir gibi görünüyor?

  • Not: Bu RubyMine (kullanmıyorum). RubyMine olmadan çalışırsa, parmakları ona işaret ederdim.
+0

Teşekkürler! Çözümün işe yaradı. Ayrıca require_all gem eksik olduğunu bulundu. Son çözümüm, klasörleri taşımak ve require_all geminin yüklü olmasıydı. – mdtest

İlgili konular