Prevent transporter leaving before completing the jasmine replica
I created a jasmine replicator that does a slow async task, but the protractor goes away before the reporter finishes. How to make the protractor wait for the slow reporter?
In my reporter, a slow task is simulated setTimeout
:
// SlowReporter.js
SlowReporter.prototype.reportRunnerResults = function() {
var p = q.defer();
setTimeout(function() {
console.log("Slow reporting op finished");
p.resolve();
}, 10000);
return p.promise;
};
But, when I plug it in,
// protractor.conf.js
onPrepare: function() {
jasmine.getEnv().addReporter(new SlowReporter());
}
.. exits the protractor before completing the slow task. The protractor doesn't seem to respect the promise returned by the reporter.
Note that I am not asking how to make the protractor wait in an asynchronous test , but how to make the protractor wait for the jasmine reporter after the tests have finished.
+3
source to share