Cypress: Есть ли способ проверить невидимость элемента - PullRequest
0 голосов
/ 12 марта 2019

В нашем приложении, когда пользователь выполняет некоторые действия, требующие связи с сервером, на верхней панели будет отображаться панель загрузки. Как только действие завершится, панель загрузки исчезнет. В тестах мы используем это как проверку перед тем, как двигатьсяк следующему шагу.В селене я проверяю исчезновение полосы загрузки, как показано ниже

WebDriverLongWait.Until(ExpectedConditions.InvisibilityOfElementLocated(By.Id("loading-bar")));

Существует ли аналогичный способ проверки невидимости элемента в Cypress

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

as shown below cy.server()
            cy.route('POST','**/saveExpression').as('saveExpression')
            cy.get('.IEE-save-button',{ timeout: 100000 }).contains('Apply Expression').click();

            cy.wait('@saveExpression').then((xhr)=>

            {
                cy.contains('browse',{timeout: 60000}).click()
            })

1 Ответ

1 голос
/ 12 марта 2019

В этом случае идеально использовать .should('not.be.visible').Чтобы разместить в своем примере, как показано ниже,

cy.get('#loading-bar').should('not.be.visible')

Поскольку индикатор полосы загрузки зависит от какого-либо сетевого запроса, вы можете дождаться завершения запроса XHR, прежде чем делать утверждение.Вы можете использовать функцию кипариса wait().Например:

// Wait for the route aliased as 'getAccount' to respond
cy.server()
cy.route('/accounts/*').as('getAccount')
cy.visit('/accounts/123')
cy.wait('@getAccount').then((xhr) => {
  cy.get('#loading-bar').should('not.be.visible')
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...