我认为更容易用伪代码解释:
page.all('tr').each do |tr|
if tr.has_text?(string1) and tr.has_text?(string2) # and so on...
# Pass the test!
end
end
# Else fail the test
是否存在使用Capybara和Ruby / Cucumber执行此测试的有效方法?
答案 0 :(得分:1)
以下内容应该是您尝试做的事情
strings = [string1, string2, ...]
found = page.all('tr').any? do |tr|
strings.all? { |s| tr.has_text?(s, wait: 0) }
end
expect(found).to be true
答案 1 :(得分:0)
以下代码片段可以有效地验证页面上是否至少有一个包含任意数量字符串的表格行:
found = false
page.all(:css, 'tr').each do |row|
if row.text != ""
found = true
end
end
found.should eq true
希望这会有所帮助:)