xamarin フォームのラジオボタンでプレス イベントを実行しようとしています。ラジオボタンには 0 から 5 までのインデックスが付けられています。
これを実行query("RadioButton", :contentDescription)
すると、6 つの radioButton (0 から 5 までのインデックス) が返されます。ラジオボタンは 2 つのボタンのグループに属しているため、固有のテキストはありません。したがって、ここでのインデックス値 2 から 5 はグループ RadioGroup の子であり、テキスト ラベルはすべて同じです。
私がやろうとしているのは、特定のインデックスを使用して radioButton にプレス イベントを設定することです。
私が持っている機能ファイルで:次にRadioButton番号0を押します
というカスタム ステップ定義を作成し、radio_button_steps.rb
これをデフォルトの calabash-android ステップ定義フォルダーに保存しました。
<driveLetter>:\Ruby193\lib\ruby\gems\1.9.1\gems\calabash-android-0.5.8\lib\calabash-android\steps
の構文は次のとおりradio_button_steps.rb
です。
Given /^I press the "([^\"]*)" RadioButton$/ do |text|
tap_when_element_exists("android.widget.RadioButton {text CONTAINS[c] '#{text}'}")
end
Then /^I press RadioButton number (\d+)$/ do |index|
tap_when_element_exists("android.widget.RadioButton index:#{index.to_i-1}")
end
結果は次のように返されます。
Then(/^I press RadioButton number (\d+)$/) do |arg1|
pending # express the regexp above with the code you wish you had
end
二重引用符または単一引用符を使用して、または引用符なしで機能ファイルにインデックス値を配置しようとしましたが、それでもエラーが発生します。今、私は完全に迷っています...
誰でもアイデアはありますか?