0

问题:我正在寻找一种方法来运行测试,该测试能够消除在多个位置具有相同值的选择控件之间的歧义。

例子:

我正在尝试从选择控件中选择第三个“星期一”

ie.select_list( :id , 'choose-day' ).set( '-monday' );

选择控件在控件本身中有一种“大纲”格式:

alice
-monday
-tuesday
bob
-monday
-tuesday
charlie
-monday
-tuesday

鉴于文本是相同的(而且我不知道选项值是什么提前),有没有办法对测试进行编码,以便 charlie 下的星期一是被选中的那个?

4

2 回答 2

4

在 WatiN 中,您可以使用多个属性支持来匹配一个元素(我认为 Watir 中也有类似的东西)。

Option option = ie.SelectList("choose-day").Options(Find.ByText("-monday") && Find.ByIndex(2))

(索引从零开始,因此 2 将给出第三个匹配项(如果有))。

HTH, Jeroen van Menen 领导开发者 WatiN

于 2009-01-06T20:34:46.190 回答
2

看起来您可以使用 element_by_xpath 找到您想要的选项,如下所示:

//select/option[text()='charlie']/following::option[text()='-monday']

然后您可以检查该选项的 value 属性(不确定如何在 Watir 中执行此操作),然后使用以下命令选择它:

ie.select_list( :id , 'choose-day' ).select_value( whatever_the_value_was );
于 2008-12-18T05:15:36.540 回答