WebDriverJS控制流程

Ben*_*Ben 3 javascript protractor webdriverjs

量角器使用WebDriverJS.

WebDriverJS使用"控制流"的概念来确保以预期的确定性顺序执行异步任务.

所以以下内容将按预期工作:

myElement.click();
browser.executeScript(...);
Run Code Online (Sandbox Code Playgroud)

但是,如果我向浏览器中的其中一个函数返回的承诺添加一个函数,那么一切都会以预期的方式继续工作吗?

例如:

browser.executeScript(...).then(function() {
  browser.navigate(...);
});
Run Code Online (Sandbox Code Playgroud)

用上面的代码保持控制流程吗?

Del*_*kin 6

应该.它在WebDriverJs的文档中称为框架:

flow.execute(function() {
  console.log('a');
}).then(function() {
  flow.execute(function() {
    console.log('c');
  });
});

flow.execute(function() {
  console.log('b');
});

// a
// c
// b
Run Code Online (Sandbox Code Playgroud)