我正试图在xamarin表格上的radiobutton上进行新闻发布会。无线电按钮的索引为0到5。
如果我运行query("RadioButton", :contentDescription)
,则会返回6个radioButtons(索引为0到5)。 radiobuttons没有唯一的文本,因为它们属于一组两个按钮,因此这里的索引值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
我尝试将索引值放在功能文件中,使用double或single或不带引号,但仍然会收到错误。现在我完全失去了......
任何想法?
答案 0 :(得分:2)
在查询中,您使用索引,如下所示 查询(“RadioButton index:0”)
所以你的步骤def中的方法看起来像这样
tap_when_element_exists("RadioButton index:#{arg1}")
编辑:对不起,我重读了你的问题,之前我没有真正回答过。
为了让您的步骤更加有效,您需要一个包含行的功能文件
Then I press RadioButton number 1
看起来你已经尝试了,所以这不是问题。实际的错误是说calabash看不到你写的步骤定义。 Calabash使用黄瓜,它处理场景和步骤定义等.Cugcumber在项目的'features'目录中的任何位置查找步骤定义。如果您在此处创建文件并将步骤定义放入其中,那么它应该可供您的测试运行使用。