Поток управления WebDriverJS

Транспортир использует WebDriverJS под капотом.

WebDriverJS использует концепцию "потока управления" для обеспечения выполнения асинхронных задач в ожидаемом детерминированном порядке.

Таким образом, следующее будет работать как ожидалось:

myElement.click();
browser.executeScript(...);

НО, если я добавлю функцию к обещанию, возвращенному одной из этих функций в браузере, все будет продолжать работать ожидаемым образом?

Например:

browser.executeScript(...).then(function() {
  browser.navigate(...);
});

Будет ли поддерживаться поток управления с помощью приведенного выше кода?

1 ответ

Решение

Должно быть. Это называется кадрированием в документации WebDriverJs:

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

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

// a
// c
// b
Другие вопросы по тегам