Кипарис подожди алиаса.

аюсь создать несколько базовых тестов, чтобы опробовать новыйкипарис библиотека. В моем тесте у меня естьcy.visit('http://mywebsite.com'); который загружает приложение AngularJS, которое использует SystemJS.

Если я правильно понимаю Cypress, мне не нужно больше ничего делать, и он убедится, что страница загружена, прежде чем запускать что-либо еще. Однако это, похоже, не работает, потому что страница загружена, но SystemJS все еще загружает модули.

Как я могу заставить Cypress ждать загрузки всех модулей SystemJS, прежде чем запускать больше тестов без использованияcy.wait(5000)?

РЕДАКТИРОВАТЬ

Благодаря Двелле, это решение, которое работает для меня. Я заворачиваю исходный System.import в обещание, которое разрешается после загрузки приложения AngularJS.

window.APP_READY = new Promise(function(resolve, reject) {
    System.import('app').then(function(app) {
        angular.element(document).ready(function() {
            angular.bootstrap(document, ['app']);
            resolve();
        });
    });
});

А потом в тесте

cy.visit('http://mywebsite.com').its('APP_READY');

Ответы на вопрос(2)

Ваш ответ на вопрос