2016-01-13 43 views
0

我正在寫黃瓜水豚測試來檢查表單是否有正確的元素填充。我堅持如何找到下拉菜單中顯示的選定元素值。這裏是代碼找出在水豚中選擇的值,顯示選項

<select class="selectpicker form-control" id="server_request_cores" name="server_request[cores]"><option value="1">1 x 2.0 GHz Core</option> 
<option selected="selected" value="2">2 x 2.0 GHz Cores</option> 
<option value="4">4 x 2.0 GHz Cores</option> 
<option value="8">8 x 2.0 GHz Cores</option> 
<option value="12">12 x 2.0 GHz Cores</option> 
<option value="16">16 x 2.0 GHz Cores</option> 
</select> 

我想找到下拉是否選擇「2 x 2.0 GHz的核心」。我知道有辦法通過「價值」來找到它,但我不想通過價值來找到它,而是想通過頁面上的實際顯示值找出它。像這樣的東西

expect(find(:css, 'select#server_request_cores').value).to eq('2 x 2.0 GHz Cores') 

回答

0

要做到這一點,最好的辦法是使用的匹配水豚提供

expect(page).to have_select('server_request_cores', selected: '2 x 2.0 GHz Cores') 

這更好的讀取,並且使用水豚自動等待行爲情況下的選擇是動態變化

0

我想我找到了答案。我試着下面的代碼,它的工作。

expect(find_field('server_request_cores').find('option[selected]').text).to eq('2 x 2.0 GHz Cores')