Как ждать, пока элемент исчезнет в кипарисе - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть индикатор загрузки, который мне нужно ждать, чтобы исчезнуть, прежде чем делать свои утверждения.

Я видел, как некоторые используют следующее, но мне это не кажется подходящим, и я также не хочу, чтобы это было утверждением.cy.get('element, {timeout: 10000}).should('not.exist);

У кого-нибудь есть советы?

1 Ответ

0 голосов
/ 07 декабря 2018

Если вам нужно подождать, вы можете использовать функцию кипариса wait() перед тем, как сделать утверждение, и указать количество времени ожидания до истечения времени ожидания.

Но обратите вниманиеэто анти-паттерн, как вы можете найти в документах:

Вам почти никогда не нужно ждать в течение произвольного периода времени.Всегда есть лучшие способы выразить это в Cypress.

Тем не менее, если ваш индикатор загрузки привязан к какому-либо сетевому запросу, вы можете подождать, пока он завершит работу, прежде чем делать утверждение.Это может быть достигнуто с помощью чего-то вроде этот пример:

// Wait for the route aliased as 'getAccount' to respond
// without changing or stubbing its response
cy.server()
cy.route('/accounts/*').as('getAccount')
cy.visit('/accounts/123')
cy.wait('@getAccount').then((xhr) => {
  // we can now access the low level xhr
  // that contains the request body,
  // response body, status, etc
})

Более подробную информацию об ожидании запросов можно найти здесь .

Также,убедитесь, что вы действительно хотите использовать .should('not.exist'), а не .should('not.be.visible').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...