【问题标题】:Testing a modal dialog with RSpec and Capybara使用 RSpec 和 Capybara 测试模态对话框
【发布时间】:2013-08-12 18:34:13
【问题描述】:

当我点击导航栏上的“登录”时,会弹出一个模式对话框,呈现部分登录。

我将如何使用 RSpec 和 Capybara 进行测试?

<!--....-->
<li><%= link_to "Log in", '#', data: {:'reveal-id' => 'loginModal'} %></li>
<!--....-->

<div id="loginModal" class="reveal-modal">
  <%= render 'devise/sessions/new' %>
  <a class="close-reveal-modal">&#215;</a>
</div>

【问题讨论】:

  • Althaf - 您能否确认以下解决方案是否适合您?
  • 是的,它确实按预期工作

标签: ruby-on-rails rspec


【解决方案1】:

试试:

visit your_page_path
click_link "Log in"
page.should have_content('a_modal_content_here') # async

请考虑使用以下,

within('#loginModal') do
  page.should have_content('a_modal_content_here') # async
end

仅在模式中查找您的内容。

【讨论】:

  • 我认为这可能是这种方式,但我必须确保 'a_modal_content_here' 是模态特有的,对吗?
  • 没必要,您可以使用within('#loginModal') { ... } 仅查看您的模态html。
  • 太好了,这正是我想要的。谢谢!
猜你喜欢
  • 2021-10-27
  • 1970-01-01
  • 2023-03-13
  • 2012-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多