我想检查第二个.item元素包含一些文本
cy.get('.item').then(($items) => {
expect($items).to.have.length(2);
expect($items[1]).to.contain('Published');
});
Run Code Online (Sandbox Code Playgroud)
柏树抛出错误:TypeError: obj.is is not a function。
我也试过expect($items[1]).text.to.contain('Published');
这次错误是TypeError: Cannot read property 'contain' of undefined.
由于它没有问题$items,因此您的问题出在您期望的数组中$items[1]。正如赛普拉斯所说, $items[1] 是未定义的,“不是函数”错误是同样的问题,但描述更复杂:)。因此,赛普拉斯找不到第二个元素,因此无法使用数组。如果您将其更改为以下内容,它可能会通过:
cy.get('.item').then(($items) => {
expect($items).to.have.length(2);
expect($items).to.contain('Published');
});
Run Code Online (Sandbox Code Playgroud)
您还可以以完全不同的方式检查特定元素:
cy.get('.item')
.eq(2)
.should('contain', 'Published')
Run Code Online (Sandbox Code Playgroud)
这导致检索第二个“项目”并检查它是否包含“已发布”。当然,您可以将 eq() 更改为更高或更低的数字
| 归档时间: |
|
| 查看次数: |
3601 次 |
| 最近记录: |