У меня очень странный сценарий ios, и я не уверен, как с ним справиться.
Я новичок в тестировании, и у меня есть сайт, чтобы проверить, где мы проверяем функцию корзины, если она работает.
Моя проблема в том, что мы добавляем х номеров продукта и делаем проверку на складе. Если есть конфликт запасов, то нам нужно решить его, прежде чем продолжить, иначе мы просто продолжим.
Мне удалось создать функцию, которая выглядит следующим образом:
describe("Details page", function () {
detailsPage = new DetailsPage();
// The details page is accessible by the specified URL
it(`Is defined by the URL: ${userData["url"]}${browser.baseUrl}`,
async function () {
await detailsPage.navigateDesktop();
});
// Details page has a form and it can be filled out with user data
it("Has a form that can receive user data",
async function() {
await detailsPage.fillFormWithUserData();
await utils.click(detailsPage.getForm().buttons.nextStep);
});
if (detailsPage.hasStockConflict()) {
// Details page allows the user to fix conflicts in stocks
it('Enables resolution of stock conflicts', async function () {
// Wait for stock to fully load
await detailsPage.hasStockConflict();
await detailsPage.clickAllRemoveButtons();
await detailsPage.clickAllDecreaseButtons();
});
// Details page allows the user to proceed to the next stage when all conflicts (if any) has been resolved
it('Allows the user to proceed to the next stage of purchasing', async function () {
const nextStepButton = detailsPage.getForm().buttons.nextStep;
await utils.elementToBeClickable(nextStepButton);
await utils.click(nextStepButton);
});
}
});
, однако моя проблема с функцией заключается в том, что Мне нужно подождать, пока я не получу ответ от сервера, либо я получу конфликт акций, который будет вызван:
hasStockConflict() //checks if there is stockConflict message in DOM
, либо я получу перенаправление на новую страницу.
У меня вопрос: как я могу сделать функциональную сортировку, которая проверяет наличие конфликта запасов, тогда мы решаем оператор if, иначе мы просто продолжаем без необходимости что-либо делать (что приведет меня на следующую страницу)?
Я установил тайм-аут на 1 минуту. Через 1 минуту тест пройдёт как неудачный.
По сути, я хочу решить оператор if, если есть конфликт акций, иначе мы просто пропустим его. Возможно, я неправильно понял цель тестирования, поэтому все виды знаний также будут оценены!