我需要检查选择列表下拉列表的内容,这取决于另一个字段中的值。我正在将有效选项读入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方法会进行类似的转换?
答案 0 :(得分:10)
没有任何方法可以完全按照您的要求进行操作,但更简洁的版本是:
selectList = $browser.select_list(:id,"srch-status-select")
selectContent = selectList.options.map(&:text)
答案 1 :(得分:2)
您是否尝试过.options方法?如果我正确地阅读RDOC for Watir-webdriver,它应该返回一个包含选择列表中所有选项的集合。
答案 2 :(得分: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