Cypress - дождаться изменения размера свитка - PullRequest
0 голосов
/ 10 июня 2019

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

Я пытался дождаться всех доступных вызовов XHR, которые происходят после входа в систему, это работает в большинстве случаев.Временами, но не на 100% (на электроне, который использует наш CI), я также пытался получить другие элементы перед прокруткой, например, проверка кнопки отключена, но этого времени кажется недостаточно для полного изменения размера прокрутки.

Вот мой пример кода:

 Cypress.Commands.add('waitForRequestAndVisit', (path, url) => {
   cy.server();
   cy.route('GET', path).as('request');
   cy.visit(url);
   cy.wait('@request');
 }),

Это файл спецификации:

cy.waitForRequestAndVisit('**/api/v1/auth/validate_token', '/');


const termsAndConditionsScroll = '[data-testid=terms-and 
conditions]';
cy.get(termsAndConditionsScroll).scrollTo('bottom');
cy.getSubmitButton()
   .should('not.be.disabled')
   .click();
...