我正在尝试让我的第一个页面对象工作。我是 ruby 和 cucumber 的新手,所以我不确定自己做错了什么。到目前为止,它是一个非常简单的程序。我的目标是去谷歌搜索“培根”
我的支持文件夹中有我的 page_object 文件夹(我认为它应该放在那里,不确定)
我觉得 include PageObject 没有正确执行 include。
首页.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
环境.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
gem 文件
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-
最佳答案
按以下顺序尝试
需要'watir-webdriver' 需要“页面对象” 需要“页面对象/page_factory”
对我有用...
关于ruby - 俗气的页面对象。主页 :Class (NoMethodError) 的未定义方法 `text_field',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20639914/