我正在编写将在包含4个href的元素中查看的测试,并在其中创建每个href的数组,然后依次单击每个href并期望得到结果。
看看Capybara DSL文档,我无法看到一种范围内的方式,然后调用所有类似的方式:
links = all(:href).within('id-of-element')
我只是将其保留为all(:href)
,但有3个元素包含4个href,我需要具体说明我与之交互的元素。
有办法做到这一点吗?
答案 0 :(得分:2)
内部的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