Calabash - 如何选中radioButton(多个相同的命名按钮)

时间:2015-06-10 09:49:25

标签: android xamarin calabash

我对以下内容感到茫然,也许代码需要更改,但我先问这里,希望有人能够提供协助。

我有一个很长的表格,有多项选择题。 例如

Q1至Q30 - 每个答案都是一个名为&#34的无线电按钮;好的","不好","不知道" 现在在IRB控制台上运行查询:查询(" radioButton")和查询(" FormsTextView")我得到contentDescription和文本值。

现在,由于表单数据的生成方式(通过Xamarin表单),每个问题都有: Q1 - text = ok,不行,不知道。 contentDesciption是每个问题一个。

因此,在文本上断言不是一个选项,并且在contentDescription上断言只会选择第一个radioButton。

在ID上断言不是一个选项,因为它们是由运行时由xamarin生成的。

所以我正在寻找的是一种方法,看看是否已经选择了radioButton,然后选择一个不同的...例如。如果确定'选中,然后选择“不好”' (注意,两者都有相同的contentDescriptions,所以也许选择contentDesciption的第二个实例可能会有效,但是我还不熟悉Ruby,而是编写一个可以处理这种情况的自定义步骤定义。

一个可能的解决方案也可能是:然后我触摸textAndContent文本 - 使用步骤def"的伪代码。然后我触摸" textNameOfButton" ==" contentDescription" do touchElement where textNameofButton - contentDescription 所以基本上自定义步骤接受text和contentDescription的输入,并将它们传递给复合查询,然后执行tap_when_element_exists方法。不知道如何悲伤地做到这一点:(

非常感谢任何帮助或指示。

提前谢谢你。 ģ

1 个答案:

答案 0 :(得分:0)

据我了解你,你会有30个按钮“OK”,30个“Not OK”,30个“不知道”。

我会查询每种类型并将输出放在一个数组中。像这样的东西(好的):

okArray = query "radioButton text:'OK'

然后查看所有3个数组中的索引0以查看选择了哪一个。然后选择一个不同的。 然后为每个其他索引执行相同的操作。