使用Capybara进行测试时如何获取元素的id(Rails)

bal*_*anv 16 integration-testing ruby-on-rails capybara

我正在使用Capybara在我的应用程序中编写测试,但现在我有一种情况,我需要在capybara中读取一个元素的id

myid = page.find("#parentNode").first(".childClass").id

考虑我有以下HTML结构

<div id="parentNode">
 <div id="childNode1" class="childClass">1</div>
 <div id="childNode2" class="childClass">2</div>
</div>
Run Code Online (Sandbox Code Playgroud)

请注意:我不是试图读取子节点的内容,而是读取id.以上所示是例如.

预期输出: childNode1(具有类childClass的第一个元素的id

shi*_*kar 28

你几乎接近答案.唯一的变化是调用id作为方法,你必须将其称为属性,如下所示

page.find("#parentNode").first(".childClass")[:id]
Run Code Online (Sandbox Code Playgroud)