2

私は今、ややもろいキュウリのテストスイートを見ています。多くの小さなステップがあり、ページ自体の知識がありません。

一連のSeleniumPageObject内のステップ定義に含まれるロジックを除外したいと思います。 ここに見られるように。

ただし、私はSeleniumではなくWebratを使用しているため、すべてがWebratモデルを経由する必要があります。だから私はできません

class MyPage < Selenium::WebPage

end

それは直接の依存関係を追加するからです。

そのため、Selenium Pageオブジェクトの優れた機能を維持しながら、すべてをWebrat経由でルーティングする必要があります。私が見ることができるこれに関するドキュメントはありません:誰かがWebrat + PageModelに何かを持っているなら、私はそれを見たいです。

4

2 に答える 2

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
于 2010-04-06T05:53:55.927 に答える
0

あなたが求めていたものと同じように聞こえる何かをリリースしました。Gizmoを見てください-http://rubygems.org/gems/gizmo/は(webrat | capybara )、(cucumber | rspec)などで動作します。

于 2010-04-19T11:20:43.800 に答える