2014-10-19 1 views
-1

Я застрял в ошибке при создании некоторого автотеста в калабасе. Так что мой код:Ruby/calabash: undefined method `each 'for 2: Fixnum (NoMethodError)

Then /^I set some site$/ do 
    arr=["Google.com","Youtube.com"] 
    for i in arr.length { 
     touch("* id:'browserActivity_linLout_toolbar_url'") 
     sleep 5 
     currentSite=arr[i] 
     keyboard_enter_text (currentSite) 
     sleep 10 
     press_enter_button 
     i=i+1 
     sleep 20 
     } 
    end 
end 

Когда я пытаюсь запустить мой тест, я получаю эту ошибку:

undefined method each' for 2:Fixnum (NoMethodError) ./features/step_definitions/calabash_steps.rb:339:in /^I set some site$/' features/my_first.feature:6:in `Then I set some site'

Любые идеи, как решить эту проблему?

ответ

0

Вы пишете цикл for с неправильным синтаксисом. В Ruby, используйте:

for element in arr 
    #... 
    currentSite = element 
    #... 
end 

Или лучше без for:

arr.each do |element| 
    #... 
    currentSite = element 
    #... 
end