Следующий метод обрабатывает событие.
exports.movingTowardsNextInstanceStage = () => {
const nextInstance = manipulations.getDomObject('instance-tab-phases-buttons-next-instance', 'id'); // Next Approval Stage Button
nextInstance.getText().then((text) => {
if (text.includes('WEITERLEITEN AN TL')) {
browser.wait(until.elementToBeClickable(nextInstance), TIMEOUT, 'taking too long to be clickable');
nextInstance.click();
}
}).catch((err) => {
console.error(err);
});
nextInstance.getText().then((text) => {
if (text.includes('WEITERLEITEN AN LSM')) {
browser.wait(until.elementToBeClickable(nextInstance), TIMEOUT, 'taking too long to be clickable');
nextInstance.click();
}
}).catch((err) => {
console.error(err);
});
nextInstance.getText().then((text) => {
if (text.includes('FREIGABE')) {
browser.wait(until.elementToBeClickable(nextInstance), TIMEOUT, 'taking too long to be clickable');
nextInstance.click();
}
}).catch((err) => {
console.error(err);
});
};
Справочная информация: есть одна кнопка (nextInstance), которую нужно нажать три раза, чтобы активировать другую кнопку. Короче говоря ... После каждого нажатия кнопки появляется загрузчик, несколько компонентов активируются и деактивируются и т. Д. Кроме того, это занимает около 2-3 секунд, пока кнопка снова не станет активной. В течение этих трех секунд кнопка отключена.
Я пробовал другие способы нажатия кнопки x раз. Использование Array.forEach, использование setInterval с заданным числом повторений и задержкой, установка неявных ожиданий между каждым событием (щелчком) (это действительно сработало).
Я хочу избежать использования неявных ожиданий.
Я знаю, что не слишком хорошо определил контекст, но, глядя на мой код и мои намерения, есть ли способ улучшить его?