CasperJS: how to exit script execution?

2019-06-16 20:13发布

问题:

Yesterday I've written my first tests with CasperJS and I find it amazing. The problem is that I couldn't find a way to exit the script execution (ie: casperjs doesn't exist so I can get back access to my console). I've found an workaround by adding a final test like so

casper.test.begin('Exit', function suite(test) {
    casper.exit();
});

Regarding this technique I have 2 questions

  1. Is there a better way?
  2. How would that impact the output of the results to xunit file?

回答1:

casper.then(function() {
    this.exit();
});

Do you want to exit the script while it's running (due to an error)? If not, then you don't need to explicitly exit it like that. Just call casper.run() after defining all your tests, and once all the tests have run (regardless of their result), the script will stop running and you'll regain control over your terminal.



回答2:

casper.on('run.complete', function() {
        this.echo('Test completed');
        this.exit();
});

You can use the run.complete event to wait till all steps are executed and then exit.