量角器使用WebDriverJS。
WebDriverJS使用“控制流”的概念来确保以预期的确定性顺序执行异步任务。
所以以下内容将按预期工作:
myElement.click();
browser.executeScript(...);
但是,如果我在浏览器中添加其中一个函数返回的promise的函数,那么一切都会以预期的方式继续工作吗?
例如:
browser.executeScript(...).then(function() {
browser.navigate(...);
});
是否可以使用上述代码维护控制流程?
答案 0 :(得分:6)
应该是。它被称为WebDriverJs' documentation中的框架:
flow.execute(function() { console.log('a'); }).then(function() { flow.execute(function() { console.log('c'); }); }); flow.execute(function() { console.log('b'); }); // a // c // b