簡體   English   中英

使用Capybara檢查隱藏的復選框

[英]Check hidden checkbox using Capybara

我有一個我想檢查的復選框。 此按鈕具有關聯的confirm alert和其他一些內容。

在此輸入圖像描述

<label>
  <div class="check label-checked">
    <span>Confirm</span>
    <i class="fa fa-square-o"></i>
    <input class="confirm-reservation-js" hidden="" name="actions_to[56]" type="checkbox" value="confirm">
  </div>
</label>

# js.erb

$(__s.bookings + ".confirm-reservation-js").click(function() {
    var input, form;
    if (confirm( "<%= I18n.t('.reservations.alert.action') %>" )) {
      form  = $(__s.bookings + '[id^=edit_booking_]');
      input = $("<input>")
                .attr("type", "hidden")
                .attr("name", "confirm").val("true");
      form.append($(input));
      form.submit();
    }
  });

我不能用Capybara檢查這個按鈕。 我正在嘗試:

1- find(locator, visible: false).click

2- find(locator).trigger('click')

locator是我輸入的路徑。

額外

# Gemfile
gem 'capybara', '2.0.2'
gem 'capybara-webkit', '~> 1.1.0'

# Test file
it "..." , js: true do

有人可以幫我看看這個復選框嗎?

謝謝。

Capybara有一個選項(Capybara.ignore_hidden_​​elements)來配置在DOM中查找節點的默認查詢行為。 它的默認值為false。 這意味着您的css或xpath查詢將查找文檔中的所有節點,無論它們在頁面上的可見性如何。 您可以通過傳遞:visible => true | false選項來覆蓋單個查詢的此行為。

更改capybara的默認行為即

Capybara.ignore_hidden_elements = true

您也可以點擊鏈接: http//makandracards.com/makandra/7617-change-how-capybara-sees-or-ignores-hidden-elements :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM