ruby-on-rails - capybara ,在 css 元素中查找

标签 ruby-on-rails testing cucumber capybara

我正在使用 Ruby on Rails 3、Cucumber 和 Capybara

我已经搜索了很长时间,但我不知道如何在 css 标记中找到特定的页面元素。就我而言,我需要确保在表格内找到名称,而不是在“欢迎 [名称]”中。

我试过类似的方法:

within('table') do
  page.body.index("[Name]")
end

我有一个包含 id='table' 的表格。

但我想知道如何对任何 css 元素执行此操作,例如:

within('h2') do
  page.body.should have_content ('stuff')
end

我认为我的问题与 page.body 有关,但我不确定如何将它包含到特定的 css 标记中。

提前致谢!

最佳答案

Capybara 的 within 匹配器只匹配第一个结果,所以如果你有多个 h2 标签,它只会查找第一个。

相反,尝试使用 :text 选项的 have_css

page.should have_css("#table", :text => "[Name]")
page.should have_css('h2', :text => 'stuff')

关于ruby-on-rails - capybara ,在 css 元素中查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8158328/

相关文章:

jQuery insertBefore 和单引号问题

php - 从隐藏的表单值中获取来自 silenium php-webdriver 的文本

java - 使用反射修改抽象类中的字段

java - 如何在 cucumber 中的特征背景 "Given"语句中传递变量?

javascript - 正常测试时,在每条指令中执行并行def

java - 使用 Cucumber DataTable 更新表单

ruby-on-rails - Rails - 您要查找的页面不存在(在 Heroku 推送之后)

ruby-on-rails - 如何向 Rails 5 中的现有类添加方法?

ruby-on-rails - 在 Ruby on Rails 中创建一个名为 type 的字段

ruby-on-rails - 为 Rspec 测试填充在父 Controller 中定义的实例变量