appId: ${USER_APP_ID} env: USER_APP_ID: ${USER_APP_ID || "in.freshyo.app"} USER_MOBILE: ${USER_MOBILE || ""} USER_PASSWORD: ${USER_PASSWORD || ""} PRODUCT_NAME: ${PRODUCT_NAME || "E2E Test Product"} SLOT_DATE: ${SLOT_DATE || ""} SLOT_HOUR: ${SLOT_HOUR || ""} SLOT_MIN: ${SLOT_MIN || ""} tags: - user - smoke --- - launchApp: clearState: true - extendedWaitUntil: visible: text: 'Next|Home' timeout: 60000 - tapOn: text: 'Next' optional: true - waitForAnimationToEnd - extendedWaitUntil: visible: id: home-search timeout: 30000 - tapOn: id: home-search - tapOn: id: search-input-input - inputText: ${PRODUCT_NAME} - pressKey: enter - tapOn: 'Add to Cart' - extendedWaitUntil: visible: id: 'slot-${SLOT_DATE}-${SLOT_HOUR}-${SLOT_MIN}' timeout: 20000 - tapOn: id: 'slot-${SLOT_DATE}-${SLOT_HOUR}-${SLOT_MIN}' - tapOn: id: add-to-cart-confirm - extendedWaitUntil: visible: id: go-to-cart timeout: 20000 - tapOn: id: go-to-cart - scrollUntilVisible: element: id: checkout-button direction: DOWN - tapOn: id: checkout-button - extendedWaitUntil: visible: id: 'user-login-mobile|place-order-button' timeout: 30000 - runFlow: when: visible: id: user-login-mobile commands: - runFlow: subflows/login-user.yaml - extendedWaitUntil: visible: id: home-search timeout: 60000 - extendedWaitUntil: visible: id: go-to-cart timeout: 20000 - tapOn: id: go-to-cart - scrollUntilVisible: element: id: checkout-button direction: DOWN - tapOn: id: checkout-button - extendedWaitUntil: visible: id: address-option-0 timeout: 30000 - scrollUntilVisible: element: id: place-order-button direction: DOWN - runFlow: when: visible: id: select-address-error commands: - scrollUntilVisible: element: id: address-option-0 direction: UP - tapOn: id: address-option-0 - scrollUntilVisible: element: id: place-order-button direction: DOWN - extendedWaitUntil: notVisible: id: select-address-error timeout: 15000 - tapOn: id: place-order-button - assertVisible: 'Order Placed Successfully!'