我使用Capybara来检查页面中的元素并返回它的内容。如果元素不存在,我希望查找不同元素的内容并返回该内容。如果两者都没有找到,我想返回一个空字符串。这里的挑战是,当Capybara::ElementNotFound失败时,Capybara抛出一个#find错误。::ElementNotFound => e ''我将如何重
我已经看到了很多关于如何用Rspec设置Capybara、数据库清理器和Factorybot的例子,但是没有一个是用Rails提供的最小设置。当我作为一个整体运行我的测试套件时,我正在与Capybara::ElementNotFound错误做斗争,但是当隔离运行时,所有失败的测试都会通过。/rails'require 'database_cleaner'
Da
我正在用RSpec和Capybara测试我的Rails应用的注册表单。email address and password Capybara::ElementNotFound:
no text field, text area or password field with id, name, or label
使用Capybara时,我需要断言表单元素不存在,例如,‘那么我不应该看到’Username‘文本字段’。如果找不到元素,find会抛出一个异常,这是我想出的最好的方法。有没有更好的方法?Then /^I should not see the "([^\"]+)" ([^\s]+) field$/ do |name, type| # Capybara throws@name='#{name}']")
# We g