2

我需要检查一个选择列表下拉列表的内容,该下拉列表取决于另一个字段中的值。我正在将有效选项读入 CVS 字段中的字符串数组,并通过执行以下操作进行比较;

selectContent = []
$browser.select_list(:id,"srch-status-select").options.each {|option| selectContent << option.text}
assert_equal(validContent,selectContent,"Status drop down has wrong values")

这是正确的还是现有的 select_list 方法可以进行类似的转换?

4

3 回答 3

11

没有方法可以完全按照您的要求做,但更简洁的版本是:

selectList = $browser.select_list(:id,"srch-status-select")
selectContent = selectList.options.map(&:text)
于 2011-06-15T14:03:03.697 回答
2

您是否尝试过 .options 方法?如果我正确阅读了Watir-webdriver 的 RDOC,它应该返回一个包含选择列表中所有选项的集合。

于 2011-06-16T08:07:48.393 回答
0

使用循环而不是 .map 的另一种方法是:

elems = Array.new
values = Array.new
elems = @b.select_list(:id => "selectListId").options
0.upto(elems.length - 1) do |i|
    values.push elems[i].text
end

然后显示选项

0.upto(values.length - 1) do |i|
    puts values[i]
end
于 2012-02-07T01:58:39.277 回答