我有一条通知消息,该消息会在保存文件时弹出,并且仅当我需要按此通知可能涵盖的下一个按钮时,如果该文件仍然存在,则希望将其关闭。
到目前为止,这就是我试图有条件地关闭通知的方式
Cypress.Commands.add('notificationClose', () => {
if (cy.get('.notification').should('be.visible')) {
console.log('CLOSE ME');
cy.get('.notification-dismiss').click({mulitple: true});
}else{
console.log('ALREADY GONE');
}
});
我也尝试了在这里也找到的jQuery解决方案。
Cypress.Commands.add('notificationClose', () => {
if (Cypress.$('.notifications-wrapper') == true) {
cy.get('.notification-dismiss').click({mulitple: true});
}
});
我仅在需要单击后续按钮之前立即使用此功能,因此通知可能会自行关闭。
有问题的元素仅在保存文件后临时附加到DOM。
如何询问此元素是否附加到DOM?
答案 0 :(得分:1)
我不确定我是否完全理解您的问题。但这就是我想你的意思:
如果这是正确的,我们只需要修复步骤1和2,因为它们很特殊。像平常一样继续进行测试。
要获得该行为,您需要get()
元素并断言该元素是否存在。您可以使用以下代码执行此操作:
cy.get('body').then($body => {
if ($body.find('.notification').length === 1) {
cy.get('.notification-dismiss').click()
}
})
// continu the test