use*_*724 12 angularjs protractor
我对角度有效的$ q库有一个很好的想法,但我不确定量角器或web-driver-js如何使用它们.(特别是因为我认为量角器/网络驱动器/角度之间的利用率略有不同)
例如,我在量角器教程中看到的示例代码似乎是逐行编写的,并假设前一个代码在下一个之前完成.(例如,browser.get(url)后跟browser.getTitle())是否存在某种隐含的前景?(我不必手动推迟解决/履行)
我通过https://github.com/angular/protractor/blob/master/docs/getting-started.md阅读 并浏览了webdriver文档和量角器api的链接,但我的理解仍然有点模糊.有些函数似乎返回值,有些函数返回许可,就像奇怪的同步和异步代码混合一样.
Mic*_*mza 13
是否存在某种隐含的前景?
看看https://github.com/angular/protractor/blob/master/docs/control-flow.md,看起来答案是肯定的,通过使用一个Promises队列,称为控制流.所以扩展你的例子:
browser.get(url);
var title = browser.getTitle();
expect(title).toEqual('My Title');
Run Code Online (Sandbox Code Playgroud)
上面的每一行都添加到队列中.变量title实际上是一个promise,它在控制流程的适当位置expect展开.
flo*_*bon 12
这是一篇关于Protractor控制流的好文章,它本身受到WebDriver API的启发.
简而言之(引用文章),这里是WebDriver的ControlFlow如何在幕后工作.
当你写:
driver.get('http://www.example.com');
driver.findElement(elem).sendKeys('hello');
Run Code Online (Sandbox Code Playgroud)
实际发生的是:
driver.get('http://www.example.com')
.then(function() {
return driver.findElement(elem);
})
.then(function(q) {
return q.sendKeys('hello');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9537 次 |
| 最近记录: |