2017-05-23 2 views
2

J'utilise Testcafe runner pour exécuter certains tests que j'ai. Quand tout est fini, la console continue d'exécuter le script pour toujours.Comment fermer testcafe runner

Voici mon code:

createTestCafe('localhost', 1337, 1338) 
.then(tc => { 
    testcafe  = tc; 
    runner = testcafe.createRunner(); 

    return runner 
     .src(['offerRefresh.js']) 
     .browsers(['nightmare']) 
     .screenshots('./screenshots', true) 
     .run(); 
}) 
.then(failedCount => { 
    console.log('Tests failed: ' + failedCount); 
    testcafe.close(); 
}); 

La console reste comme ceci:

Tests échoué: 0

Et ne ferme jamais le processus.

Répondre

1

J'ai reproduit le problème. Le processus se bloque si vous exécutez des tests avec testcafe-browser-provider-nightmare. Si vous exécutez des tests dans un navigateur local, le processus se termine correctement. J'ai créé un problème dans le référentiel TestCafe: https://github.com/DevExpress/testcafe/issues/1493. Vous pouvez vous abonner pour être averti lorsque le problème est résolu. Pour contourner ce problème, vous pouvez appeler process.exit dans votre code:

... 
    .then(failedCount => { 
    console.log('Tests failed: ' + failedCount); 
    testcafe.close(); 
    process.exit(failedCount ? 1 : 0); 
}); 

MISE À JOUR: le problème est résolu dans [email protected]