0

そのため、カスタム ListView 項目に触れて次のビューを表示しようとしましたが、元に戻りたいのですが、現在、リスト項目を照会することはできません。

私のガーキンコードは次のとおりです。

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:$/'
      features\my_first.feature:11:in `Then I choose category:'

私はいくつかのデバッグを試みましたがcalabash-android console、面白いことに、それtap_mark "Artystyczne"は完全に機能しています。だから私は自分に何か問題があると思いますData Tablesが、何を理解(またはグーグル)することはできません。助けていただければ幸いです:)

良い1日を :)

ステップの定義

特徴

4

2 に答える 2

1
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

ここで連想配列を取得します。ループごとに2つ必要です;)

于 2015-09-07T07:21:45.447 に答える
0

あなたは試したことを述べました

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}'"
于 2015-09-04T07:41:21.627 に答える