我有一些异步的WebDriverJS处理被跳过,因为测试在解决之前就已经完成了.我如何让量角器等待?
例如:(这两项测试都会失败(提交潜在的机票)
it('test promise ', function (done) {
var d = protractor.promise.defer();
d.fulfill(true)
d.promise.then(function (item) {
console.log("fulfill", item);
});
expect(d.promise)
.toBe(false);
console.log("test done");
});
it('test promise with timeout ', function (done) {
var d = protractor.promise.defer();
setTimeout(function () {
console.log("fulfill");
d.fulfill(true)
}, 3000);
d.promise.then(function (item) {
console.log("fulfill", item);
});
expect(d.promise)
.toBe(false);
console.log("test done");
});
Run Code Online (Sandbox Code Playgroud)
如果您需要更多信息,请与我们联系 ... ?
这将返回true ..如果你删除超时并只设置完成它将工作...
Leo*_*cci 11
对此的修复已于11天前合并
你可以把它与工作createFlow,但解决方案将是简单得多,只需拨打done()后fulfill是这样的:
it('test promise with setTimeout ', function(done) {
var d = protractor.promise.defer();
setTimeout(function() {
console.log("fulfill");
d.fulfill('ok');
done();
}, 3000);
expect(d).toBe('ok');
});
Run Code Online (Sandbox Code Playgroud)
目前在master分支上,所以期望这个在量角器> = 0.23.0中发货
| 归档时间: |
|
| 查看次数: |
12180 次 |
| 最近记录: |