我正在编写测试,这些测试将在包含4个href的元素中进行查找,并在其中创建每个href的数组,然后依次单击每个href并期待结果。
查看Capybara DSL文档,我看不到一种在内部进行范围界定,然后调用所有内容的方法,有点像这样:
links = all(:href).within('id-of-element')
我只想把它作为all(:href)
,但有3个元素包含4 href,我需要特定于我正在交互的元素。
有办法做到这一点吗?
中的Capybaras获取一个块并在会话中调用,这不是一个可以在节点或节点的"数组"上调用的方法
within("#id") do
find(...) # result scoped to inside element with id
end
你的另一个选择是在一个节点上调用find/first/all,该节点将它定位到该节点
find("#id").all(...). # results of all are scoped to element with id