我在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