Cheezy PageObject。 homePage的未定义方法`text_field':Class(NoMethodError)

时间:2013-12-17 16:46:37

标签: ruby cucumber page-object-gem

我想让我的第一页对象起作用。我是红宝石和黄瓜的新手,所以我不确定我做错了什么。到目前为止它是一个非常简单的程序我的目标是去谷歌搜索'培根'

我的support_object文件夹位于我的支持文件夹中(我认为这应该是不确定的地方)

我觉得包含PageObject没有正确地进行包含。

HomePage.rb

class HomePage
  include PageObject


   text_field(:search_box, :id=> 'gbqfq')
   button(:search_button, :id=> 'btnG')

end

stepdeffs.rb

Given /^on google$/ do
 @BROWSER.goto 'www.google.com'
end


When /^i search for bacon$/ do
 @home_page.search_for('Bacon')
end



Then /^BACON!!!!!!$/ do
 @BROWSER.text.include? 'Bacon'
end

env.rb

require 'watir-webdriver'
require 'rubygems'
require 'page-object/page_factory'

World(PageObject::PageFactory)

Before do
  @BROWSER = Watir::Browser.new
  @home_page = HomePage.new(@BROWSER)
end

的Gemfile

source 'https://rubygems.org'

group :test do
  gem 'cucumber'
  gem 'watir'
  gem 'page-object'
end

我得到的错误:

undefined method `text_field' for HomePage:Class (NoMethodError)
C:/ihateautomation/watir/features/support/page_objects/homepage.rb:6:in `<class:HomePage>'
C:/ihateautomation/watir/features/support/page_objects/homepage.rb:2:in `<top (required)>'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.3.10/lib/cucumber/rb_support/rb_language.rb:122:in `load'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-

2 个答案:

答案 0 :(得分:2)

抱歉找到了。

要求'page-object / page_factory'因某种原因打破它

要求'page-object'工作正常。

答案 1 :(得分:2)

按以下顺序尝试

要求'watir-webdriver' 需要“页面对象” 要求“page-object / page_factory”

适合我...