我有一个选择框,带有一个标签:
<label for="slide_orientation">Slide orientation</label> <select disabled="" class="property" id="slide_orientation" name="slide_orientation"> <option value="horizontal">Horizontal</option> <option value="vertical" selected="selected">Vertical</option> </select>
您可以看到选择框被禁用.当我尝试用field_labeled(“幻灯片方向”)找到它时,它返回一个错误:
Capybara::ElementNotFound: Unable to find field "Slide orientation" from /Users/pascal/.rvm/gems/ruby-1.9.3-p392/gems/capybara-2.0.2/lib/capybara/result.rb:22:in `find!'
当选择框未被禁用时,field_labeled(“Slide orientation”)返回select元素.
这是预期的行为吗?如果是这样,我将如何找到一个残疾人元素?在我的情况下,我需要它来测试是否禁用.
解决方法
Capybara 2.1.0 supports
disabled
filter.你可以很容易地找到残疾的领域.
field_labeled("Slide orientation",disabled: true)
您需要明确指定,因为默认情况下禁用的过滤器已关闭.