Я пытался выяснить, какой способ устранения тестирования не нужен, если представлено значение или нет.
То, что я создал, заключается в том, что в данный момент я вынужден всегда проходить тестирование из-за теста, который я провел, но теперь я осознаю, что мне нужен своего рода оператор IF-ELSE, чтобы ускорить тестирование, так как будет 4 тестовых случая, которые не нужны, ЕСЛИ значение не представлено.
Я сделал следующее:
//
//
// IF THIS IS TRUE THEN CONTINUE, ELSE WE SKIP TOTALLY
//
IF
it('Clicking Next Step button', function (done) {
browser.driver
.then(() => utils.click(detailsSpecs.getNextStepButton()))
.then(() => done());
});
//
// Check if stock conflict
//
it('Checking stock conflict', function (done) {
browser.driver
.then(() => utils.presenceOf(detailsSpecs.getStockConflictMsg()))
.then(() => done());
});
// Click Remove Button Button
//
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++) {
utils.click(detailsSpecs.getRemoveButtonDesktop().first())
browser.sleep(1000) // sleep 1s
}
})
.then(() => {
done();
})
});
//
// Click Next Step Button
//
it('Clicking Next Step button', function (done) {
browser.driver
.then(() => utils.elementToBeClickable(detailsSpecs.getNextStepButton()))
.then(() => utils.click(detailsSpecs.getNextStepButton()))
.then(() => done());
});
ELSE
SKIP
В основном, что происходит, если первый тестовый случай истинно (имеется в виду представленное значение), тогда мы продолжим делать все остальное, ЕСЛИ этого не произойдет, он автоматически перенаправит c на другую страницу, и вот с чем у меня проблемы ... Потому что у меня стандартный тайм-аут 1 минута, и это означает, что я потрачу 4 минуты на тестирование, поскольку первый тестовый пример не представлен, поэтому я хотел бы пропустить оставшуюся часть, если первый тестовый случай не соответствует действительности.
Мой вопрос заключается в том, как лучше всего сделать оператор IF-ELSE, чтобы пропустить контрольные примеры, если первый контрольный пример не представлен?
РЕДАКТИРОВАТЬ:
const stockConflictIsPresent = function (done) {
return browser.driver
.then(() => utils.presenceOf(detailsSpecs.getStockConflictMsg()))
.then(() => done());
}
if (stockConflictIsPresent) {
// Click Remove Button Button
//
it('Sleep', function (done) {
setTimeout(function () {
done();
}, 5000);
});
it('Clicking Next Step button', function (done) {
browser.driver
.then(() => utils.elementToBeClickable(detailsSpecs.getNextStepButton()))
.then(() => utils.click(detailsSpecs.getNextStepButton()))
.then(() => done());
});
} else {
console.log("Done")
}