Если элемент отсутствует, вы не можете проверить его видимость.Вы можете попробовать:
el.isPresent().then(isPresent => {
if (isPresent) {
el.isDisplayed().then(isDisplayed => {
if (isDisplayed) {
cancel.click();
} else { // so you'll know that it had failed:
expect(isDisplayed).toBeTruthy();
}
// the rest of the code
});
}
expect(isPresent).toBeTruthy(); // again, so you'll know that it had failed:
// the rest of the code
});
Теперь я знаю, что это не самое элегантное решение, но оно должно работать.Кроме того, если после отмены нужно выполнить больше шагов, которые не зависят от него, и вы хотите, чтобы тест продолжался независимо от видимости всплывающего окна, вы можете удалить expect
s, но это будет означать, что тест будет пройден, даже если всплывающее окно выполнитне появляются, и вы не сможете узнать.