Ruby/calabash:2:Fixnum 的未定义方法 'each' (NoMethodError)



我在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/^I设置了一些站点$/'features/my_first.feature:6:在"然后我设置了一些站点"中

有什么解决办法吗?

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

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

或者更好,没有for:

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

相关内容

  • 没有找到相关文章

最新更新