Cypress: как проверить кнопку loadmore - PullRequest
0 голосов
/ 19 марта 2020

У меня есть еще кнопка загрузки сообщений и Cypress-тест, охватывающий действие загрузки. Как я мог сказать Cypress повторить шаг, пока кнопка не исчезнет (например, больше ничего не загружать?). Если я не знаю, сколько раз мне нужно нажать?

Одна итерация, я проверяю следующим образом:

cy.get('#loadmore').click();
cy.get('#loadmore').contains(text.loading);

cy.wait('@loadPosts')

cy.get('.blog').find('.article').should('have.length', n+5)
cy.get('#loadmore').contains(text.loadmore)

1 Ответ

1 голос
/ 29 марта 2020

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

// your cypress test code
it('does something different based on the class of the button', function () {
  // RERUN THIS TEST OVER AND OVER AGAIN
  // AND IT WILL SOMETIMES BE TRUE, AND
  // SOMETIMES BE FALSE.

  cy.get('button').then(($btn) => {
    if ($btn.hasClass('active')) {
      // do something if it's active
    } else {
      // do something else
    }
  })
})

Ссылочная ссылка https://docs.cypress.io/guides/core-concepts/conditional-testing.html#The -DOM-is-unstable

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