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
text/typescript
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}"`)
}