我正在看一个现在有些脆弱的黄瓜测试套件;许多小步骤,并且不了解页面本身。
我想在一系列Selenium PageObjects中分解步骤定义中涉及的逻辑。 As seen here.
然而,因为我使用的是Webrat而不是Selenium,所以一切都必须通过Webrat模型。所以我做不到
class MyPage < Selenium::WebPage
end
因为这会增加直接依赖性。
所以我必须通过Webrat路由一切,同时仍然保持Selenium Page对象的优点。我没有看到关于此的文档:如果有人在Webrat + PageModel上有任何内容我很乐意看到它。
答案 0 :(得分:1)
原来答案是:
class MyPage < BasePage
def visit
@world.visit "/"
end
end
class BasePage
def initialize(world)
@world = world
end
end
然后在步骤定义中:
Given /I am awesome/ do
page = MyPage.new(self)
page.visit
end
答案 1 :(得分:0)
我们刚发布了一些听起来就像你所追求的东西。 看看Gizmo - http://rubygems.org/gems/gizmo/ 与(webrat | capybara),(黄瓜| rspec)等合作。