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
JavaScript
;
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=