UNPKG

tlc-core-automation-framework-v3-wdio-v9

Version:

Background: - We are following multi-layer automation framework architecture using webdriver.io + cucumber + typescript This core framework has been implemented with generic utility functions and cucumber steps, which can be easily consumed by another fra

35 lines 3.89 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const logger_1 = __importDefault(require("../../reporting-helpers/logger")); const custom_expect_1 = require("../../common-helpers/custom-expect"); const globals_1 = require("@wdio/globals"); /** * Check if element by index exists. * The function should be used if we are expecting to find multi element occurrence * Element index in Array starts from [0], but the end user on UI will see 1st, 2nd, 3rd, 4th... element * @param {number} elementPosition Passed to the function should be >= 1 * index - will be calculated and adjusted accordingly * @param {String} pageObject Element selector * @param {boolean} falseCase Whether to check if element by Index should exist or not */ exports.default = async (elementPosition = 0, pageConfig, falseCase) => { const index = elementPosition - 1; let elementsByIndex = await (0, globals_1.$$)(pageConfig.selector)[index]; if ((elementsByIndex == undefined) && (!falseCase)) { throw Error(`No ${pageConfig.elementKey} element found at ${index + 1} position. Check that you passing correct element position or use another step definition that calls checkIfElementExists.ts instead`); } if ((elementsByIndex == undefined) && (falseCase)) { throw Error(`NO ${pageConfig.elementKey} element found at ${index + 1} position. Check that you passing correct element position or use another step definition that calls checkIfElementExists.ts instead`); } else if (falseCase) { custom_expect_1.CustomExpect.expectToEqual(await elementsByIndex.isDisplayed(), false, `Element "${pageConfig.pageId}.${pageConfig.elementKey}" exists at position "${elementPosition}"`); logger_1.default.info(`The ${pageConfig.elementKey} element is NOT present at ${elementPosition} position`); } else { custom_expect_1.CustomExpect.expectToEqual(await elementsByIndex.isDisplayed(), true, `Element "${pageConfig.pageId}.${pageConfig.elementKey}" does not exist at position "${elementPosition}"`); } }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tJZkVsZW1lbnRFeGlzdHNCeUluZGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2UyZS9oZWxwZXJzL2ZyYW1ld29yay1oZWxwZXJzL2NoZWNrL2NoZWNrSWZFbGVtZW50RXhpc3RzQnlJbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLDRFQUFvRDtBQUVwRCxzRUFBZ0U7QUFDaEUsMkNBQW9EO0FBRXBEOzs7Ozs7OztHQVFHO0FBR0gsa0JBQWUsS0FBSyxFQUFFLGtCQUEwQixDQUFDLEVBQUUsVUFBMkIsRUFBRSxTQUFrQixFQUFFLEVBQUU7SUFDbEcsTUFBTSxLQUFLLEdBQUcsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUNsQyxJQUFJLGVBQWUsR0FBRyxNQUFNLElBQUEsWUFBRSxFQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxRCxJQUFJLENBQUMsZUFBZSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2pELE1BQU0sS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDLFVBQVUscUJBQXFCLEtBQUssR0FBRyxDQUFDLHNJQUFzSSxDQUFDLENBQUM7SUFDak4sQ0FBQztJQUNELElBQUksQ0FBQyxlQUFlLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2hELE1BQU0sS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDLFVBQVUscUJBQXFCLEtBQUssR0FBRyxDQUFDLHNJQUFzSSxDQUFDLENBQUM7SUFDak4sQ0FBQztTQUFNLElBQUksU0FBUyxFQUFFLENBQUM7UUFDbkIsNEJBQVksQ0FBQyxhQUFhLENBQUMsTUFBTSxlQUFlLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLFlBQVksVUFBVSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsVUFBVSx5QkFBeUIsZUFBZSxHQUFHLENBQUMsQ0FBQTtRQUN6SyxnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLFVBQVUsQ0FBQyxVQUFVLDhCQUE4QixlQUFlLFdBQVcsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7U0FBTSxDQUFDO1FBQ0osNEJBQVksQ0FBQyxhQUFhLENBQUMsTUFBTSxlQUFlLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksVUFBVSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsVUFBVSxpQ0FBaUMsZUFBZSxHQUFHLENBQUMsQ0FBQTtJQUNwTCxDQUFDO0FBQ0wsQ0FBQyxDQUFDIn0=