2015-09-04 38 views
0

我得到以下HTML-Structur与水豚(把body.page)无法找到OPTGROUP或选择标签与水豚

<div class="analyze-select" id="select-project"> 
     <label class="label" for="project_id_Select Project">Select project</label> 
<select class="chosen-select" data-placeholder="Project" id="select_project_id" name="select[project_id]" style="width: 150px; display: none;"> 
     <option value=""></option> 
     <optgroup label="Active"> 
     <option value="1">Project-0</option> 
     <option value="2">Project-1</option> 
     </optgroup> 
     <optgroup label="Inactive"> 
     <option value="6">deactivated project 3</option> 
     </optgroup> 
    </select> 
    </div> 

当我尝试

page.should have_xpath("//div[@id='select-project']") # => true 
page.should have_xpath("//label[@for='project_id_Select Project']") # => true 
page.should have_xpath("//select[@class='chosen-select']") # => false 
page.should have_xpath("//optgroup") # => false 

为什么不能选择 - 或找到optgroup-tag?

+0

'// optgroup [contains(@ label,'Active')]' – splash58

回答

2

对于select,您可以使用具有可见选项的has_select节点匹配器。 “false”将检查页面中的可见和不可见元素。

page.should have_select( “ID /名称/标签”,可见:假)

0

隐藏选定值:

expect(page).to have_select('id/name/label', selected: 'OPTION_TEXT', visible: false)

感谢@ sohini钱德拉。