WebDriverJS 控制流程
WebDriverJS control flow
Protractor 在底层使用 WebDriverJS。
WebDriverJS 使用 "control flow" 的概念来确保异步任务以预期的确定顺序执行。
因此以下将按预期工作:
myElement.click();
browser.executeScript(...);
但是,如果我将一个函数添加到浏览器上这些函数之一返回的 promise 的 then 中,一切都会继续以预期的方式工作吗?
例如:
browser.executeScript(...).then(function() {
browser.navigate(...);
});
上面的代码会保持控制流吗?
应该是。在 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
Protractor 在底层使用 WebDriverJS。
WebDriverJS 使用 "control flow" 的概念来确保异步任务以预期的确定顺序执行。
因此以下将按预期工作:
myElement.click();
browser.executeScript(...);
但是,如果我将一个函数添加到浏览器上这些函数之一返回的 promise 的 then 中,一切都会继续以预期的方式工作吗?
例如:
browser.executeScript(...).then(function() {
browser.navigate(...);
});
上面的代码会保持控制流吗?
应该是。在 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