ruby-on-rails - capybara 断言元素的属性

标签 ruby-on-rails rspec capybara

我正在使用 RSpec2 和 Capybara 进行验收测试。

我想断言 capybara 中的链接是否已禁用。我怎样才能做到这一点?

最佳答案

另一个简单的解决方案是使用 [] 访问您正在查找的 HTML 属性:

find('#my_element')['class']
# => "highlighted clearfix some_other_css_class"

find('a#my_element')['href']
# => "http://example.com

# or in general, find any attribute, even if it does not exist
find('a#my_element')['no_such_attribute']
# => ""

请注意,Capybara 会自动尝试等待异步请求完成,但在某些情况下可能不起作用:

如果您在对异步更新的元素进行断言时遇到问题,这里有一种解决方法:

关于ruby-on-rails - capybara 断言元素的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5153550/

相关文章:

selenium - 清除 Capybara 和 Rspec 中的屏蔽输入字段

ruby-on-rails - 如何在 Mac 上的 Dockerized Rails 环境中使用 Selenium 和 Chrome 运行 Capybara 测试

ruby-on-rails - ubuntu linux,新的终端窗口无法识别已安装的 gem

ruby-on-rails - rails : distance_of_time_NOT_in_words

ruby-on-rails - Rspec Controller 在 Rails 中测试继承自 AbstractController::Base 的 Controller

ruby - 如何使用 rspec 测试屏幕抓取?

ruby-on-rails - Rake 任务在本地机器上工作,而不是在 heroku 上工作

ruby-on-rails - 检查当前时间是否在10之前 :27pm

ruby-on-rails - 命名范围的 RSpec 和 stub 参数

ruby-on-rails - 使用 capybara 和 Selenium 获取要显示的 rails 异常