Ruby 如何使用页面对象模式清除水豚步骤?

Ruby 如何使用页面对象模式清除水豚步骤?,ruby,cucumber,capybara,site-prism,Ruby,Cucumber,Capybara,Site Prism,我对页面对象模式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

我对页面对象模式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

不,您不能在site_prism的功能中使用capybara的

您可以将对带有
语句的
的支持破解到Ruby中:

(我在VBScript中看到过这一点,不确定是否有其他语言支持它)

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