Ruby / calabash:未定义的方法`每个' for 2:Fixnum(NoMethodError)

时间:2014-10-19 08:07:52

标签: ruby calabash-android

在calabash中创建一些自动测试时,我遇到了错误。所以我的代码是:

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

当我尝试运行测试时,我收到此错误:

  

未定义的方法each' for 2:Fixnum (NoMethodError) ./features/step_definitions/calabash_steps.rb:339:in / ^我设置了一些网站$ /'    features / my_first.feature:6:在`然后我设置了一些网站'

任何想法如何解决?

1 个答案:

答案 0 :(得分:0)

您正在使用错误的语法编写for循环。在Ruby中,使用:

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

或更好,没有for

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