Прежде всего, вот мой код ....
describe('Details page', function () {
//
// Email Field
//
it('Entering Email', function (done) {
browser.driver
.then(() => utils.presenceOf(detailsSpecs.getEmail()))
.then(() => utils.sendKeys(detailsSpecs.getEmail(), userData.email))
.then(() => done());
});
//
// Click Next Step Button
//
it('Clicking Next Step button', function (done) {
browser.driver
.then(() => utils.click(detailsSpecs.getNextStepButton()))
.then(() => done());
});
//
// Wait for stock to fully load
//
it('Waiting for stock to fully load', function (done) {
setTimeout(function () {
done();
}, 5000);
});
if (element.all(by.className("generic-error-heading")).first()) {
it('Clicked all remove button', function (done) {
let allBtns = detailsSpecs.getRemoveButtonDesktop();
allBtns.count()
.then(function (countElement) {
console.log('Find buttons: ', countElement)
for (let i = 0; i < countElement; i++) { // let variables are scoped to the immediate enclosing block denoted by { }
utils.click(detailsSpecs.getRemoveButtonDesktop().first())
browser.sleep(1000) // sleep 1s
}
})
.then(() => {
done();
})
});
//
// Click Next Step Button - Not needed if two above is returning 0
//
it('Clicking Next Step button', function (done) {
browser.driver
.then(() => utils.elementToBeClickable(detailsSpecs.getNextStepButton()))
.then(() => utils.click(detailsSpecs.getNextStepButton()))
.then(() => done());
});
} else {
it('DONE', function (done) {
browser.driver
.then(() => console.log("YES"))
.then(() => done());
});
}
});
Я пытался ускорить свои тестовые случаи, пропуская, если элемент не представлен. Если он не представлен, то мы пропускаем все внутри оператора if-, в противном случае мы выполняем тестовые случаи.
У меня есть элемент, который я хочу просмотреть, который element.all(by.className("generic-error-heading")).first()
(должен быть 2, но для меня просто важно, представлен он или нет)
Моя проблема в том, что сейчас он просто пропускает его и выполняет утверждение Else, даже если элемент представлен в HTML.
У меня вопрос: как я могу сделать правильное выражение if-else, где оно фактически делает операторы if, если есть элемент, представленный иначе, пропустить?