Пока isPresent
обещает, что решение будет:
async/await
подход:
if (await Ecode1.isPresent()) {
} else if (await Ecode2.isPresent()) {
} else if (await Ecode3.isPresent()) {
} else {
browser.close();
}
Web Driver Control Flow
подход довольно уродлив и потребует дополнительной сложности:
Promise.all([
Ecode1.isPresent(),
Ecode2.isPresent(),
Ecode3.isPresent()
]).then((result)=>{
// Ecode1 present
if(result[0]) {
}
// Ecode2 present
else if(result[1]) {
}
// Ecode3 present
else if(result[2]) {
}
else {
browser.close();
}
});
Кроме того, операторы expect
под if
являются избыточными