Я пытаюсь использовать TestCafe для автоматизации начальной настройки моего проекта.В середине установки перед продолжением установки необходимо выполнить запрос POST, который занимает много времени.Это мой runner.js
, и он работает в Узле 10:
const longRunningPostRequest = require('./setup/seed-database');
const createTestCafe = require('testcafe');
const RUN_OPTIONS = {pageLoadTimeout: 120000, selectorTimeout: 15000};
const setupLicense = async () => {
const testcafe = await createTestCafe('localhost', 1337, 1338, undefined, true);
const runner = testcafe.createRunner();
const failedCount = await runner
.src(['fixtures/setup-license.js'])
.browsers(['chrome -incognito'])
.run(RUN_OPTIONS);
await testcafe.close();
};
const setupData = async () => {
const testcafe = await createTestCafe('localhost', 1337, 1338, undefined, true)
const runner = testcafe.createRunner();
await runner
.src(['fixtures/setup-wizard.js'])
.browsers(['chrome -incognito'])
.run(RUN_OPTIONS);
await testcafe.close();
};
// running them all in sequence
setupLicense()
.then(() => longRunningPostRequest()) // long-running POST request. Typically takes around 100 seconds to complete
.then(() => setupData())
.catch(err => console.log('Error occured:', err));
Когда я запускаю приложение node runner.js
, они работают.Однако отображаются только результаты приборов в setup-license.js
, в то время как приборы второго бегуна fixtures/setup-wizard.js
не показывают никакого вывода (но они запускаются и работают), но работать с ним очень раздражает, так как еслиэто терпит неудачу, сообщение об ошибке также проглатывается.Обходное решение, которое я сделал, заключалось в том, чтобы закомментировать содержимое устройства setupLicense
, чтобы отображались выходные данные setupData
.
Как мне решить эту проблему?