我做了这个小测试:
casper.test.begin('Test', function() {
casper.start();
casper.then(function() {
casper = this;
setTimeout(function(casper) {
casper.echo('wait 5s');
}, 5000);
});
casper.then(function() {
this.echo('should appear after 5s');
});
casper.run(function() {
this.test.done();
});
});
Run Code Online (Sandbox Code Playgroud)
当我执行这个测试时,我的控制台只显示这行"应该出现在5s之后"而不是第一个句子,实际上第二个'then'不会等待5秒.
这是一个很大的问题,因为它是我的casperjs测试套件中许多随机失败的可能原因.
也许我必须使用async(with series)来执行另一个步骤.
你有这个问题吗 ?在casperjs测试中一个接一个地执行一些javascript函数的最佳实践是什么?
casperjs ×1