ruby
  • cucumber
  • capybara
  • site-prism
  • 2013-03-05 51 views 2 likes 
    2

    我有一个页面对象模式宝石“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 
    

    它工作正常,但看起来很沉重,unbeautiful。有没有什么方法可以将它写成像水豚一样的方法?以下是不行的(错误:“不能转换成主字符串(类型错误)”)

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

    回答

    0

    不,你不能site_prism使用水豚的within功能。

    1

    你能砍的with声明支持到红宝石:

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

    (我已经看到了这个在VBScript,不知道是否有任何其他语言支持开箱即用)。

    相关问题