これは私のテストです。Railsキュウリカピバラid/class選択
When(/^the admin user broadcasts "([^"]*)" to the notification feed$/) do |userBroadcast|
visit('/broadcasts/new.html')
fill_in('.nifty_form', with: userBroadcast)
click_button('Broadcast')
end
下記のように、new.html.erbに 'nifty-form'というクラスを追加しました。
<h1>New broadcast</h1>
<%= form_for(@broadcast) do |f| %>
<% if @broadcast.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@broadcast.errors.count, "error") %> prohibited this broadcast from being saved:</h2>
<ul>
<% @broadcast.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<%= hidden_field_tag 'page', @current_page %>
<div id="broadcast-area" class="main-input-area">
<p>
<%= f.text_area :content, cols: "100%", rows: "10", class: 'nifty-form',
title: "Broadcast text goes here", autofocus: 'autofocus'%>
</p>
<div id="url-part">
<%= link_to("Shortens URL",
id: "split-arrow",
title: "Press this to shorten the URL") %>
<%= text_field_tag :shorten_url, nil,
title: "Enter URL that you wish to shorten",
size: "50%" %>
</div>
<br/>
<div id="">
<%= f.submit 'Broadcast', confirm: 'Do you really want to broadcast?' %> |
<%= link_to 'Back', broadcasts_path(page: @current_page) %>
</div>
</div>
しかし、いくつかの理由で、私は結果を得る:
Unable to find field "nifty_form" (Capybara::ElementNotFound)
私はレンダリングされたページのソースを見ていると、それは以下の通りです:
<textarea cols="100%" rows="1o" class="nifty_form" title="Broadcast text goes here" autofocus="autofocus" name="broadcast[content]" id="broadcast_content" style="z-index: auto; position: relative; line-height: normal; font-size: 10.6667px; transition: none; background: transparent !important;" data-gramm="true" data-txt_gramm_id="b763ea7b-2eef-d3c8-b750-a085d2c9ce80" data-gramm_id="b763ea7b-2eef-d3c8-b750-a085d2c9ce80" spellcheck="false" data-gramm_editor="true"></textarea>
だから、これは持って見てレンダリングされたページのID私はこのようなIDを持つテストを書くことにしました。
しかし、またしても私はすべての事業部のクラスのカピバラを見ることができるプリントアウトする方法はあり
Unable to find field "broadcast_content" (Capybara::ElementNotFound)
の同じエラーメッセージが残っていますか?この問題をどのようにデバッグできますか?ボタンがクリックされた後、Cappybaraがリンクをたどっていると仮定して正しいですか?セッションは生きていますか?
にこだわっ方がいいでしょうが、上記のerb.htmlファイル – Definity
@Definityそれは、テキストエリアが実際にはページに表示されず、JSウィジェットに置き換えられているように聞こえます。それは事実ですか?その場合は、テキストエリアではなくウィジェットの要素と対話する必要があります。 –