Capybara:找到li元素

时间:2014-11-11 17:27:09

标签: capybara

使用Capybara,我试图测试第一个包含“Shop”。

代码如下所示:

<h1 aria-haspopup='true' class='dropdown-toggle title' data-toggle='dropdown' tabIndex='0'>
Dashboard
<span class='caret'></span>
</h1>
<ul aria-label='Dashboard Menu' class='dropdown-menu' role='menu'>
<li class='dropdown-header' role='presentation'>Recent Projects</li>
<li role='menuitem'>
<a href="/tkim/shop"><span class='recent-project-access-icon'>
<i class="fa fa-lock"></i>
</span>
<span class='str-truncated'>
<span class='namespace-name'>
tkim33
/
</span>
<span class='project-name filter-title'>
Shop
</span>
</span>
</a></li>
<li role='menuitem'>
<a href="/tkim/asdfadfsdsafdasf"><span class='recent-project-access-icon'>
<i class="fa fa-lock"></i>
</span>
<span class='str-truncated'>
<span class='namespace-name'>
tkim33
/
</span>
<span class='project-name filter-title'>
asdfadfsdsafdasf
</span>
</span>
</a></li>
<li role='menuitem'>

但我不知道如何断言第一个是否包含“Shop”。

我开始时:

find(:css,'。navav-gitlab .dashboard-menu .dropdown-menu'),但我不知道如何遍历以确保第一个li元素包含我的预期结果。

任何人都知道怎么做?

1 个答案:

答案 0 :(得分:0)

你可以尝试这样的事情:

page.all('li')[0].text.should == 'Shop'