0

対話する必要がある Web ページに yes/no スライダーがあります。要素の 1 つをクリックして、値が true から false、または false から true に変わるようにする必要があります。IDを使用して、要素の値を取得できます

find_field('passcode_policies__allow_simple').find('option[selected]').value

しかし、このオブジェクトをクリックして値を変更することを何度もシミュレートしようとしましたが、失敗しました。

<div class="control-group">
  <select class="toggle" id="passcode_policies__allow_simple" name="passcode_policies[][allow_simple]" style="display: none; " tabindex="-1">
    <option value="true" selected="selected">Yes</option>
    <option value="false">No</option>
  </select>
  <div class="ui-switch off" tabindex="0">                                 
    <div class="ui-switch-mask">                          
      <div class="ui-switch-master" style="left: -38px; ">                      
        <div class="ui-switch-upper">                     
          <span class="ui-switch-handle" style="left: 33px; "></span>          
        </div>                                            
        <div class="ui-switch-lower">                     
          <div class="ui-switch-labels">                  
            <a href="#" class="ui-switch-on" style="width: 17px; " tabindex="-1">Yes</a>   
            <a href="#" class="ui-switch-off" style="width: 17px; " tabindex="-1">No</a> 
          </div>                                          
        </div>                                            
      </div>                                              
    </div>                                                
    <div class="ui-switch-middle" style="width: 60px; ">
    </div>                  
  </div>
  <label class="inline">Allow simple value</label>
  <span class="help-block">Permit the use of repeating, ascending, and descending character sequences</span>
</div>
4

2 に答える 2

0

Selenium、ヘッドレスWebkit、またはphantomjs(ポルターガイストの宝石)を使用している場合は、単純なものを呼び出すことができるはずです。

click_link 'Yes'

しかし、まっすぐにカピバラを使用している場合は、次のようなものでselect要素を操作する必要があります

select('Yes', :from => 'passcode_policies__allow_simple')

そして、あなたはこのカピバラで可視性と何をチェックすることができます:page.shouldhave_no_contentはdisplay:none要素に対して正しく機能しません

于 2012-07-17T16:42:56.327 に答える
0

作業ソリューション:

within(:css, '#passcode_policies__allow_simple + .ui-switch') do
  click_link 'No'
end
于 2012-07-17T18:32:34.700 に答える