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

31 lines (23 loc) 1.29 kB
import getElementText from "../action/getElementText"; import {PageConfigTypes} from "../../../custom-types/pageConfig-types"; import {CustomExpect} from "../../common-helpers/custom-expect"; import pause from "../action/pause"; export default async function (pageConfig: PageConfigTypes, falseCase: boolean, expectedText: string, maxTry: number = 10, ignoreCaseCheck = false) { let elementText: string; let isElementTextIsAsExpected: boolean = false; let counter: number = 0; if (ignoreCaseCheck) expectedText = expectedText.toLowerCase(); do { elementText = (await getElementText(pageConfig)); if (ignoreCaseCheck) elementText = elementText.toLowerCase(); if ((falseCase && elementText != expectedText) || (!falseCase && elementText.includes(expectedText))) isElementTextIsAsExpected = true else { await pause(1000); counter++; } } while (!isElementTextIsAsExpected && counter <= maxTry); CustomExpect.expectToBeTruthy(isElementTextIsAsExpected == true, `Element "${pageConfig.pageId}.${pageConfig.elementKey}"${falseCase ? ' ' : ' does not '}contain${falseCase ? 's' : ''} expected text "${expectedText}", text found : "${elementText}"`) }