【发布时间】:2015-06-19 03:12:40
【问题描述】:
使用 watir-webdriver,您可以在使用 IRB(交互式 ruby)进行开发时测试您的代码。 但这在使用页面对象 gem 时似乎不起作用。 当我运行 ruby 程序时,我可以看到我的页面对象调用正在工作。 这在 IRB 中并不明显。例如。这是我在 IRB 中输入的内容:
require 'page-object'
require 'watir-webdriver'
b = Watir::Browser.new :chrome
然后我手动导航到我想要的页面并返回 IRB:
b.table(:id => 'manage-groups-list').present?
IRB 返回真。因此,watir-webdriver 知道表格控件存在于页面上。我们可以在页面对象中做同样的事情吗? 继续在 IRB 中编码:
class ManageGroupsPage
include PageObject
table(:groupsList, :id => 'manage-groups-list')
end
然后我尝试从 IRB 获取表的内容。但是,这会返回错误:
irb(main):021:0> puts ManageGroupsPage.groupsList.to_s
NoMethodError: undefined method `groupsList' for ManageGroupsPage:Class
from (irb):21
from C:/Ruby193/bin/irb:12:in `<main>'
我正在使用页面对象 1.0.3、watir-webdriver 0.6.11 和 Ruby 1.9.3。
【问题讨论】:
标签: ruby selenium-webdriver watir-webdriver page-object-gem