import { Input } from '@contour/fet/lib/elements/input'; import { DataTable } from '@cucumber/cucumber'; import { ContourNumbericInput } from '../../../elements/contourNumbericInput'; import { ContourSelect } from '../../../elements/contourSelect'; import scenarioContext from '../../../util/scenarioContext'; export async function setInputFieldFromDataTable(type: string, page: string, dataTable: DataTable) { const data = dataTable.raw(); for (let i = 0; i < data.length; i++) { // let value = global.scenarioContext?.mapVariable ? global.scenarioContext.mapVariable[data[i][1]] : data[i][1]; const value = scenarioContext().mapContextVariable(data[i][1]); if (type == 'inputfield') { const element = new Input(contourfet.getPageElement(page, data[i][0])); await element.clearInputField(); await element.setInputField(value); } else if (type == 'contourNumbericInput') { const element = new ContourNumbericInput(contourfet.getPageElement(page, data[i][0])); await element.clearInputField(); await element.setInputField(value); } else if (type == 'contourSelect') { const element = new ContourSelect(contourfet.getPageElement(page, data[i][0])); await element.selectOptionByVisibleText(value); } } }