我对angular中的$ q库如何工作有一个不错的想法,但是我不确定量角器或web-driver- js如何使用它们。(特别是因为我认为量角器/网络驱动程序/角度之间的利用率略有不同)
例如,我在量角器教程中看到的示例代码似乎是逐行编写的,并且假定上一个在下一个之前完成。(例如,browser.get(url)后跟browser.getTitle())是否存在某种隐含的承诺?(我不必手动推迟解决/实现)
我已经阅读了https://github.com/angular/protractor/blob/master/docs/getting- started.md, 并略过了webdriver文档和量角器api的链接,但我的理解仍然有些模糊。有些函数似乎返回值,而有些返回承诺像同步和异步代码的奇怪混合。
是否存在某种隐含的前途?
查看https://github.com/angular/protractor/blob/master/docs/control- flow.md,答案似乎是 肯定的 ,通过使用承诺队列,称为控制流。因此,请扩展您的示例:
browser.get(url); var title = browser.getTitle(); expect(title).toEqual('My Title');
上面的每一行都添加到队列中。变量title实际上是一个承诺,它在控制流中的适当点expect解开。
title
expect