У меня есть массив ответов.
var answers = ['Yes', 'No', 'Yes'];
Я должен ввести эти ответы в веб-викторину, где вопросы появляются последовательно.Я чувствую вопросы, используя драйвер селена.
Я ввожу ответы, используя следующий метод.
var answerQuestion = function(driver, answer) {
var defer = q.defer();
var elementXPath = "//*[contains(@class, 'quizAnswer’)]";
var delay = 2000;
return driver.waintUntilVisible(elementXPath, delay).sendKeys(answer);
};
Теперь я хочу выполнить вышеупомянутый метод для каждого ответа в массиве answers
последовательнопоскольку следующий вопрос не будет отображаться до тех пор, пока на текущий вопрос не будет получен ответ.
Простой цикл foreach
не выполняется здесь.
function submitAnswers(driver) {
answers.forEach(function(answer) {
answerQuestion(driver, answer);
});
}
Итак, как последовательно выполнять асинхронные методы на основемассив переменных.