我正在尝试使用赛普拉斯检查列表中是否包含2个特定条目。
我尝试过:
cy.get('ul.messages_list')
.children()
.contains('text')
.and('contain', 'emailAddress)
.should('have.length', 2)
问题在于,一旦我使用.contains(),它就位于单个元素中,而我无法检查它们是否存在多个。
答案 0 :(得分:0)
我只是遇到了同样的问题。这对您有用吗?
cy.get('ul.messages_list').children().should(($children) => {
expect($children).to.contain('text');
expect($children).to.contain('emailaddress);
expect($children.length).to.eq(2);
})
我总共有大约8个小时的赛普拉斯菜鸟经验,所以您可能需要进行一些调整:-)
答案 1 :(得分:0)
const messages = cy.get('ul.messages_list').children();
messages.contains('text');
messages.contains('emailAddress');
messages.should('have.length', 2);
答案 2 :(得分:0)
尝试将 .contains('text') 替换为 .should('contain', 'text')。 通过这种方式,您应该能够使用 .and() 链接断言:
cy.get('ul.messages_list')
.children()
.should('contain', 'text')
.and('contain', 'emailAddress)
.and('have.length', 2)