Я пытаюсь передать данные из таблицы в файл объектов, а затем, наконец, в определения шагов моего сценария Java, показанные ниже.
Scenario: XX | Basket Tests: Cover Type | Building + no bundle + HE
Given I open the page with the url "http://localhost:3000" and route "/basket"
When I click the button <coverTypeID>
And I click the button <bundleID>
Then I see the result <expectedResult>
| id | url | coverTypeID | bundleID | elementID | expectedResult |
| 1 | http://localhost:3000/basket | coverTypeId101 | NoBundle | null | |
| 2 | http://localhost:3000/basket | coverTypeId101 | NoBundle | checkbox1 | |
| 3 | http://localhost:3000/basket | coverTypeId101 | NoBundle | checkbox2 | |
| 4 | http://localhost:3000/basket | coverTypeId101 | NoBundle | checkbox3 | |
| 5 | http://localhost:3000/basket | coverTypeId101 | NoBundle | checkbox4 | |
Это мой файл Feature, я использовал для передачи данных с использованием строк, однако теперь я использую таблицу данных, которая не определяет сценарий, когда выполняются тесты.
When("I click the button <coverTypeID>", (buttonID, next) => {
driver.findElement(By.id(buttonID)).then(pageElement => { /////////////////////////////////////////////
driver.wait(until.elementIsVisible(pageElement), 10000).then(async () => { //This is to click a button using elementID//
await driver.sleep(3000); /////////////////////////////////////////////
pageElement.click();
next();
})
.catch(ex => {
console.log(ex.message, ex.stack)
});
}).catch(ex => {console.log(ex.message, ex.stack)});
});
Ошибка, которую я получаю, заключается в том, что тесты не определены, поскольку сценарий не соответствует определению шага должным образом из-за использования заголовков таблицы
Я смотрел на использование регулярных выражений, однако я не уверен, какой тип данных таблица данных передает при выполнении, было бы полезно какое-либо руководство, я прошел через кучу разных вопросов, и ни один из них, кажется, не совсем ответь мой.
Любая помощь будет принята с благодарностью, я бы хотел избегать регулярных выражений, если бы мог, потому что цель состоит в том, чтобы сделать код максимально читабельным.
Заранее спасибо.