我有一个聊天机器人应用程序,想要与Cypress进行测试。我正在研究机器人是否正确响应客户端的情况。因此,单击后检查,我应该得到一个具有 bot-message 类的div。
cy.get('.bot-message').should('have.text','I want to send invoice to my email')
CypressError: Timed out retrying: expected
[ <div.bot-message>, 3 more... ] to have text
I want to send invoice to my email. , but the text was
I want to see my profile.I want to see my invoices.
I want to send invoice to my email
这里的问题是,赛普拉斯将所有div都归入名为 bot-message 的类中。
所以我想做的就是说获得同一个班级的第3个div。如果不是这种情况,那么我认为我应该为每个机器人消息div赋予数据属性
答案 0 :(得分:1)
使用eq
在元素数组中的特定索引处获取DOM元素。
来自API docs:
此命令的查询行为与.eq()在jQuery中的工作方式完全匹配。其行为也类似于CSS伪类:nth-child()选择器。
cy.get('.bot-message')
.eq(1) // to get 2nd element. array index (counting) starts from 0
.should('have.text','I want to send invoice to my email');
答案 1 :(得分:0)
contains
呢?
cy.get('.bot-message').contains('I want to send invoice to my email')