因此,我尝试触摸自定义ListView项以查看下一个View,然后我想向后移动,但现在我无法查询任何列表项。
我的小黄瓜代码是:
Then I choose category:
| Artystyczne |
| Językowe |
| Komputery i robotyka |
| Korepetycje |
| Medyczne |
| Praktyczno-techniczne |
| Rozrywkowe |
| Rozwijające |
| Sportowe |
| Taneczne |
| Pozostałe |
在我的步骤中看起来像:
Then(/^I choose category:$/) do |table|
# table is a Cucumber::Ast::Table
data = table.raw
data.each do |i|
#tap_mark i
#tap_when_element_exists("* {text CONTAINS[c] '#{i}'}")
touch(i)
#TODO move back one View
end
end
当我运行测试时,错误显示:
Then I choose category: # features/step_definitions/calabash_steps.rb:25
| Artystyczne |
| JÄtzykowe |
| Komputery i robotyka |
| Korepetycje |
| Medyczne |
| Praktyczno-techniczne |
| Rozrywkowe |
| RozwijajÄce |
| Sportowe |
| Taneczne |
| PozostaĹ'e |
Failed to perform gesture. java.util.ArrayList cannot be cast to java.lang.String (RuntimeError)
./features/step_definitions/calabash_steps.rb:31:in `block (2 levels) in <top (required)>'
./features/step_definitions/calabash_steps.rb:28:in `each'
./features/step_definitions/calabash_steps.rb:28:in `/^I choose category:$/'
featuresmy_first.feature:11:in `Then I choose category:'
我试着在calabash-android console
中做一些调试,有趣的是tap_mark "Artystyczne"
工作得很好。所以我认为我的Data Tables
有问题,但我不知道(或谷歌(是什么。如果有任何帮助,我将不胜感激:(
祝你今天愉快:(
步骤定义
特点
Then(/^I choose category:$/) do |table|
data = table.raw
data.each do |identifiers|
identifiers.each do |identifier|
tap_when_element_exists("* {text CONTAINS[c] '#{identifier}'}")
sleep(1)
end
end
这里有一个assoc数组,每个循环需要2个;(
您表示已尝试
tap_mark "Artystyczne"
然而你发布的你的步骤是
Then(/^I choose category:$/) do |table|
# table is a Cucumber::Ast::Table
data = table.raw
data.each do |i|
touch(i)
end
end
您正在使用触摸,而不能使用简单的文本来识别要触摸的项目。它需要一个查询。
风格的东西
touch "ListView marked:'#{i}'"