2

Page Object Pattern gem 'site_prism' を使用した次のステップ定義があります。

class Main < SitePrism::Page
  element :login_link, "a.log-in-link"
  element :login_field, "input[name='userLogin']"
  element :pass_field, "input[name='userPassword']"
  element :enter_button, ".button_pretty"
end

If /I'm log in as "([^"]*)" with password "([^"]*)"$/ do |login, pass|
    @main = Main.new
    @main.login_link.click
    @main.login_field.set login
    @main.pass_field.set pass
    @main.enter_button.click
end

それは正常に機能しますが、非常に重く、美しくありません。カピバラのwithinメソッドのように書く方法はありますか?以下は機能しません (エラー:「メインを文字列に変換できません (TypeError)」)

within @main do
    login_link.click
    login_field.set login
    pass_field.set pass
    enter_button.click
end
4

2 に答える 2

1

withステートメントのサポートを Rubyにハッキングできます。

http://www.ruby-forum.com/topic/128781#574402

(これは VBScript で見たことがありますが、他の言語ですぐにサポートされているかどうかはわかりません)。

于 2013-03-05T12:39:14.713 に答える
0

withinいいえ、カピバラの機能を site_prism で使用することはできません。

于 2013-03-05T10:05:26.973 に答える