【问题标题】:How do i clear my capybara steps using Page Object Pattern?如何使用页面对象模式清除我的水豚步骤?
【发布时间】:2013-03-05 09:42:44
【问题描述】:

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

它工作正常,但看起来很重且不美观。有没有办法像 capybara 'within' 方法来写它?以下不起作用(错误:“无法将 Main 转换为字符串(TypeError)”)

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

【问题讨论】:

    标签: ruby cucumber capybara site-prism


    【解决方案1】:

    您可以将 with 语句的支持破解到 Ruby 中:

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

    (我在 VBScript 中看到过这个,不确定是否有其他语言开箱即用)。

    【讨论】:

      【解决方案2】:

      不,您不能将 capybara 的 within 功能与 site_prism 一起使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多