У меня есть ряд элементов, которые анимируются (вручную путем установки позиции в JS, а не через CSS-преобразования), и я хочу подтвердить их положение, когда они все остановились.
Самый простой способ, которым я имеюопределения того, являются ли они анимирующими, заключается в том, что все элементы анимации будут иметь z-индекс 2 (позже я сделаю рефакторинг, чтобы добавить атрибуты data-
, чтобы сделать его более надежным, но сейчас это так).
В документах Cypress говорится, что утверждения будут автоматически ждать, пока они не пройдут, но это не то поведение, которое я вижу:
Cypress.Commands.add('getNumberOfMovingElements', () => {
cy.get(`[data-test-element="square"]`)
.then(squares => {
const movingSquares = Array.from(squares).filter(square => square.style.zIndex === '2');
return movingSquares.length;
})
});
Cypress.Commands.add('getPosition', () => {
cy
.getNumberOfMovingElements().should('be.at.most', 0)
.etc
Это терпит неудачу, потому что, когда я это называю, у меня есть один подвижный квадрат.Как я могу ждать, пока утверждение верное?