【问题标题】:Rails testing button functionality with capybara.Rails 使用 capybara 测试按钮功能。
【发布时间】:2015-06-08 12:25:59
【问题描述】:

我有这段代码,我正在尝试单击按钮以使用警卫和水豚测试其功能。当我这样写时,我得到一个未定义的方法错误。如果我注释掉 click_button 行,它会返回没有错误。它应该呈现导入成功的响应,该响应由索引页面显示。

require 'rails_helper'
require 'spec_helper'

RSpec.describe "Imports", type: :request do
  it "checks the import page." do
    get '/imports'
    click_button "submit"
  end
end

【问题讨论】:

  • 按钮标记为“提交”还是“提交”? Capybara 区分大小写。
  • 提交,谢谢。
  • 这肯定是一个按钮吧?不是一个样式像按钮的链接?您可以在 Firebug/equivalent 或页面源中轻松确认。

标签: ruby-on-rails-3 unit-testing capybara guard


【解决方案1】:

加载元素需要多长时间?如果 > 2 秒(水豚默认等待时间为 2 秒),那么您很可能会收到未定义方法错误...

尝试增加 capybara 的超时时间或仅针对该元素执行此操作:

click_button "submit", wait: 10

如果这不能解决您的问题,请确保“提交”是您元素的正确路径...

【讨论】:

    【解决方案2】:

    默认情况下,Capybara::DSL 仅包含在 :feature 类型的测试中,您是否也将其包含在 :request 类型中?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-06
      • 2012-05-30
      • 1970-01-01
      相关资源
      最近更新 更多