【发布时间】:2020-04-22 10:37:59
【问题描述】:
我正在尝试遍历表行并获取包含特定值的每一行,
但这对我不起作用。
我正在使用.each() 来迭代行,并在每个$el 上使用.within(),
在里面,我使用cy.get('td').eq(1).contains('hello'),但我得到断言错误:
重试超时:应在元素中找到内容:'hello':
<td>,但从未找到。
当我 console.log cy.get('td').eq(1) 它在每一行中产生所需的单元格并且测试通过时,所以我不明白为什么链接 .contains() 不起作用...
it('get element in table', () => {
cy.visit('http://localhost:3000/');
cy.get('tbody tr').each(($el) => {
cy.wrap($el).within(() => {
cy.get('td').eq(1).contains('hello') // contains() doesn't work
})
})
});
<table>
<thead>
<tr>
<th>Month</th>
<th>Savings</th>
</tr>
</thead>
<tbody>
<tr>
<td>January</td>
<td>$100</td>
</tr>
<tr>
<td>February</td>
<td>hello</td>
<td>$80</td>
</tr>
<tr>
<td>$10</td>
<td>hello</td>
</tr>
</tbody>
</table>
【问题讨论】:
-
失败的不是
.contains(),第一行在第二个单元格中不包含'hello' - 所以测试失败并且永远不会检查后续行。
标签: javascript cypress