如果我们给出完整的 class 名称,为什么赛普拉斯无法识别

Why cypress fails to identify if we give full class name

如果我给出完整的 class 名称,例如:title-text-panel-container class-about-benefits > ul cypress 无法识别元素并抛出以下错误 CypressError:重试超时:预期找到元素:'.title-text-panel-container class-about-benefits > ul',但从未找到它。 如果我们在测试中给出 full class name 为什么赛普拉斯无法识别?但它通过了测试,因为我们根据测试 2 给出了 class 名称。

测试 1:失败

cy.get('.title-text-panel-container class-about-benefits > ul').find('li').its('length').should('be.gte', 1);

测试:2 次通过

cy.get('.title-text-panel-container > ul').find('li').its('length').should('be.gte', 1);

试试看 cy.get('.title-text-panel-container .class-about-benefits > ul')

.classA .classB 选择器暗示 classBclassA 的后代。如果要指定单个 DOM 元素的多个 类(以增加特异性),则不得在它们之间添加 space:.classA.classB.

在你的情况下,它是:

cy.get('.title-text-panel-container.class-about-benefits > ul').find('li').its('length').should('be.gte', 1);