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
43 lines • 3.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
const custom_expect_1 = require("../../common-helpers/custom-expect");
const globals_1 = require("@wdio/globals");
/**
* Check the given property of the given element
* @param {String} isCSS Whether to check for a CSS property or an
* attribute
* @param {String} attrName The name of the attribute to check
* @param {String} selector Element selector
* @param {boolean} falseCase Whether to check if the value of the
* attribute matches or not
* @param {String} expectedValue The value to match against
*/
async function default_1(isCSS, attrName, pageConfig, falseCase, expectedValue) {
const command = isCSS ? 'getCSSProperty' : 'getAttribute';
/**
* The actual attribute value
* @type {Mixed}
*/
let attributeValue = await (0, globals_1.$)(pageConfig.selector)[command](attrName);
// eslint-disable-next-line
expectedValue = isFinite(expectedValue) ? parseFloat(expectedValue) : expectedValue;
/**
* when getting something with a color or font-weight WebdriverIO returns a
* object but we want to assert against a string
*/
if (attrName.match(/(font-size|line-height|display|font-weight)/)) {
// @ts-expect-error
attributeValue = attributeValue.value;
}
else if (attrName.match(/(color)/)) {
// @ts-expect-error
attributeValue = attributeValue.parsed.hex;
}
if (falseCase)
custom_expect_1.CustomExpect.expectNotToEqual(attributeValue, expectedValue, `Actual "${attrName}" of element "${pageConfig.pageId}.${pageConfig.elementKey}" equals to expected`);
else
custom_expect_1.CustomExpect.expectToEqual(attributeValue, expectedValue, `Actual "${attrName}" of element "${pageConfig.pageId}.${pageConfig.elementKey}" is equal to expected`);
}
;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tQcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9lMmUvaGVscGVycy9mcmFtZXdvcmstaGVscGVycy9jaGVjay9jaGVja1Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZUEsNEJBMkJDO0FBeENELHNFQUFnRTtBQUNoRSwyQ0FBb0Q7QUFFcEQ7Ozs7Ozs7OztHQVNHO0FBQ1ksS0FBSyxvQkFBVyxLQUFjLEVBQUUsUUFBZ0IsRUFBRSxVQUEyQixFQUFFLFNBQWtCLEVBQUUsYUFBOEI7SUFDNUksTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO0lBQzFEOzs7T0FHRztJQUNILElBQUksY0FBYyxHQUFHLE1BQU0sSUFBQSxXQUFDLEVBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXJFLDJCQUEyQjtJQUMzQixhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGFBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBRXhHOzs7T0FHRztJQUNILElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxFQUFFLENBQUM7UUFDaEUsbUJBQW1CO1FBQ25CLGNBQWMsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7U0FBTSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxtQkFBbUI7UUFDbkIsY0FBYyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFBO0lBQzlDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCw0QkFBWSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsV0FBVyxRQUFRLGlCQUFpQixVQUFVLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxVQUFVLHNCQUFzQixDQUFDLENBQUE7O1FBRWxLLDRCQUFZLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsV0FBVyxRQUFRLGlCQUFpQixVQUFVLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxVQUFVLHdCQUF3QixDQUFDLENBQUE7QUFDekssQ0FBQztBQUFBLENBQUMifQ==