柏树:Expect元素包含一些文本

时间:2019-03-29 09:28:29

标签: cypress

我要检查第二个self.func = functools.partial(func, self)元素是否包含文本

.item

柏树抛出错误:cy.get('.item').then(($items) => { expect($items).to.have.length(2); expect($items[1]).to.contain('Published'); });

我也尝试过TypeError: obj.is is not a function 这次的错误是expect($items[1]).text.to.contain('Published');

1 个答案:

答案 0 :(得分:3)

由于$items没问题,因此您遇到的问题是$items[1]所期望的数组。正如赛普拉斯所言,$ items [1]是未定义的,“不是函数”错误是相同的问题,但描述起来更复杂:)。因此,赛普拉斯无法找到第二个元素,因此无法使用数组。如果将其更改为此,它可能会通过:

cy.get('.item').then(($items) => {
  expect($items).to.have.length(2);
  expect($items).to.contain('Published');
});

您还可以通过完全不同的方式检查特定元素:

cy.get('.item')
  .eq(2)
  .should('contain', 'Published')

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