【问题标题】:Cheezy PageObject. undefined method `text_field' for HomePage:Class (NoMethodError)俗气的页面对象。 HomePage:Class (NoMethodError) 的未定义方法“text_field”
【发布时间】:2013-12-17 16:46:37
【问题描述】:

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

我的支持文件夹中有我的 page_object 文件夹(我认为它应该去的地方不确定)

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

主页.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

宝石文件

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-

【问题讨论】:

  • 抱歉弄明白了。 require 'page-object/page_factory' 由于某种原因破坏了它 require 'page-object' 工作得很好。
  • 抱歉无法回答我自己的问题,因为我是低级新手。 8小时后更新:(

标签: ruby cucumber page-object-gem


【解决方案1】:

按以下顺序试一试

需要'watir-webdriver' 需要“页面对象” 需要“页面对象/页面工厂”

为我工作...

【讨论】:

    【解决方案2】:

    抱歉,弄错了。

    require 'page-object/page_factory' 由于某种原因破坏了它

    require 'page-object' 工作正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 2015-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多