量角器和承诺

Protractor and promises

Protractor return 承诺的很多功能。

我是否需要使用 Protractor 使用异步测试(使用 done 参数)和 .then 之类的东西来构建我的 Jasmine 测试,或者 Protractor 是否提供了一些魔法来为我做这件事?

是的,量角器执行了一些 魔法 以等待每个承诺的解决。

过程的最佳描述在量角器文档中:How It Works

这意味着我们不必使用 done 将测试构建为异步。我们可以简单地使用 expect(在 Jasmine 中)断言,一切都应该有效。

WebDriverJS 通过控制流来处理这个问题。 Protractor 添加了对 Jasmine 的 expect 的修改,以防止出现 then。最好解释一下here.