【发布时间】:2016-04-27 15:50:32
【问题描述】:
我是 PageObject 的新手,但我以前使用过 Watir。我有一个登录类
class Login
include PageObject
page_url 'http://localhost:9090/#/login'
button(:login, :id => 'login-btn')
end
我想检查按钮是否启用。通常情况下,我会在 Watir 中使用类似的名称来调用它
@browser.button(:id => 'login-btn').enabled?
当我尝试使用登录 PageObject 别名时,出现错误。
on(Login).login.enabled?
> NoMethodError: undefined method 'enabled?' for nil:NilClass
是否有一种 PageObject 风格的方式来访问 Watir 属性(例如启用),还是我需要通过 @browser 变量手动查找元素并以这种方式进行检查?这似乎违背了使用 PageObject 的初衷。
【问题讨论】:
-
'test-factory' gem 允许你在上面做的事情,因为它围绕 watir 进行了更优化,而不是试图同时支持 Watir 和 Selenium 用户。如果您刚刚开始,您可能希望将其评估为 page-object gem 的替代方案。如果您已经编写了很多代码,那么可能不值得在中途换马
标签: ruby watir watir-webdriver page-object-gem