cypress:expect元素包含一些文本

cypress:expect元素包含一些文本,cypress,Cypress,我想检查第二个。item元素包含一些文本 cy.get('.item').then(($items) => { expect($items).to.have.length(2); expect($items[1]).to.contain('Published'); }); cypress throw error:TypeError:obj.is不是函数 我还尝试了expect($items[1]).text.to.contain('Published') 此时间错误为TypeEr

我想检查第二个
。item
元素包含一些文本

cy.get('.item').then(($items) => {
  expect($items).to.have.length(2);
  expect($items[1]).to.contain('Published');
});
cypress throw error:
TypeError:obj.is不是函数

我还尝试了
expect($items[1]).text.to.contain('Published')

此时间错误为
TypeError:无法读取未定义的属性“contain”

,因为它与
$items
没有任何问题,您的问题出现在
$items[1]
预期的数组中。正如Cypress所述,$items[1]未定义,'is not a function'错误与此问题相同,但描述更为复杂:)。因此Cypress找不到第二个元素,因此使用数组不起作用。如果您将其更改为以下内容,它可能会通过:

cy.get('.item')。然后($items)=>{
预计($items).to.have.length(2);
expect($items).to.contain('Published');
});
您还可以用完全不同的方式检查特定元素:

cy.get('.item'))
.eq(2)
.should('包含','发布')

这将导致检索第二个“item”并检查它是否包含“Published”。当然,您可以将eq()更改为更高或更低的数字

,因为它与
$items
没有任何问题,您的问题在于
$items[1]
所期望的数组中。正如Cypress所述,$items[1]未定义,'is not a function'错误与此问题相同,但描述更为复杂:)。因此Cypress找不到第二个元素,因此使用数组不起作用。如果您将其更改为以下内容,它可能会通过:

cy.get('.item')。然后($items)=>{
预计($items).to.have.length(2);
expect($items).to.contain('Published');
});
您还可以用完全不同的方式检查特定元素:

cy.get('.item'))
.eq(2)
.should('包含','发布')

这将导致检索第二个“item”并检查它是否包含“Published”。当然,您可以将eq()更改为更高或更低的数字

是否有方法检查
$items
中的特定项目?是否有方法检查
$items
中的特定项目?