ruby
  • cucumber
  • capybara
  • site-prism
  • 2013-03-05 73 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,不知道是否有任何其他語言支持開箱即用)。

    相關問題