Согласно документации Angular.
Добавьте оператор pause() внутри сквозного теста и повторно запустите его. Вы увидите паузу бегуна; это дает вам возможность исследовать состояние вашего приложения, пока оно отображается в браузере. Приложение живо! Вы можете изменить поисковый запрос, чтобы доказать это. Обратите внимание, насколько это полезно для устранения неполадок в сквозных тестах.
Я довольно часто использую это в своем сквозном тестировании, но я столкнулся с небольшой загвоздкой. У меня есть среда разработки, настроенная с grunt, чтобы вести себя так:
grunt.registerTask('test:watch', [
'clean:server',
'concurrent:server',
'autoprefixer',
'connect:livereload',
'karma:unit',
'open',
'karma:e2e',
'watch'
]);
Здесь интересно то, как устроена карма и как устроены часы с кармой, так что ознакомьтесь с ними:
karma: {
options: {
configFile: 'karma.conf.js',
},
e2e: {
singleRun: false,
background: true,
configFile: 'karma-e2e.conf.js',
},
unit: {
singleRun: false,
background: true
}
}
и часы выглядят так
watch: {
karma: {
files: ['test/**/*.js'],
tasks: ['karma:unit:run', 'karma:e2e:run']
}
}
Итак, когда я бегу
хрюкающий тест: смотреть
Я запускаю свой сервер, чтобы играть с ним, и каждый раз, когда я меняю файл, запускаются мои модульные тесты, за которыми следуют сквозные тесты. Это работает очень хорошо. Проблема в том, что когда я использую паузу в своих сквозных тестах, консоль останавливается на паузе, и я не знаю, как сказать ей возобновить работу без необходимости просто убивать команду и начинать заново.
Если вам интересно, у меня есть Scenario Runner, работающий в отдельном браузере, где и пригодится pause(). С этой стороны все работает нормально, и я могу возобновить его в браузере, и все отлично.
Но остается вопрос: как я могу заставить часы продолжать «оценивать» сквозные тесты через консоль bash после того, как они нажмут на паузу ()?