2014-07-25 3 views
0

나는 stackoverflow에서 수많은 솔루션을 검토했다. 누군가가 내 방식의 오류를 이해하도록 도울 수 있기를 바랬습니다.Capybara 드롭 다운에서 선택 옵션

select('2012', :from => 'graduation_start_year', :visible => false) 

를 내가받을 :

카피 바라 :: ElementNotFound :
수 없습니다 나는 현재 사용하려고

.graduation-date-range 
      %label Graduation Date Range 
      .row-fluid 
       .span6 
       .control-group 
        .controls 
        .bfh-selectbox{:id => "graduation_start_year", :style => "width: 100%"} 
         = f.hidden_field :graduation_start_date 
         %a.bfh-selectbox-toggle{"data-toggle" => "bfh-selectbox", :href => "#", :role => "button"} 
         %span.bfh-selectbox-option Start Year 
         %b.caret 
         .bfh-selectbox-options 
         %div{:role => "listbox"} 
          %ul.start-years{:role => "option"} 
          - (2012..2018).each do |y| 
           %li 
           %a{"data-option" => y, :href => "#"}= y 
        .help-inline 

       .span6 
       .control-group 
        .controls 
        .bfh-selectbox{:style => "width: 100%"} 
         = f.hidden_field :graduation_end_date 
         %a.bfh-selectbox-toggle{"data-toggle" => "bfh-selectbox", :href => "#", :role => "button"} 
         %span.bfh-selectbox-option End Year 
         %b.caret 
         .bfh-selectbox-options 
         %div{:role => "listbox"} 
          %ul.end-years{:role => "option"} 
          - (2012..2018).each do |y| 
           %li 
           %a{"data-option" => y, :href => "#"}= y 
        .help-inline 

솔루션 : 같은

HAML 마크 업 보인다 선택 상자 "graduation_start_year"를 찾으려면

필자는 레이블, 이름 또는 ID 중 하나를 선택하는데 사용할 수 있다고 생각하지만 오인되었을 수 있습니다.

미리 답변 해 주셔서 감사합니다.

+0

당신의 capybara 드라이버는 무엇입니까? 테스트 도중'puts Capybara.current_driver '를 추가하여 검사 할 수 있습니다. – akhanubis

답변

0

폼 선택 상자가 아니라 자바 스크립트 및 CSS를 통해 드롭 다운 상자와 유사한 것으로 변경된 html 목록 인 것 같습니다.

카피 바라 선택 <select><option> 태그를 찾고 있습니다. 이것은 테스트 할 셀레늄 또는 폴 테지 테 스트와 함께 js 유형 테스트가 필요합니다.

관련 문제