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 に答える