Я работаю в проекте с NightwatchJS и Cucumber, и у меня возникают проблемы при работе со значениями, возвращенными в определении шагов из пользовательских команд.
мой шаг
When('user click on save button', async () => {
let referenceResponse = "referenceResponse"
referenceResponse = await client.clickOnSaveDraftButtonTask();
console.log("referenceResponse "+referenceResponse);
});
Пользовательская команда
//clickOnSaveDraftButtonTask.js
module.exports.command = async function () {
const orderDetailsPage = this.page.orderDetailsPageObject();
let responseData = orderDetailsPage
.clickOnSaveButton();
console.log("responseDatas " + responseData);
responseData.then((result) => {
console.log("result " + result);
});
return responseDatas;
};
Что регистрируется
When user click on save button
responseDatas [object Promise]
√ Passed [equal]: POST == POST
√ Passed [equal]: 201 == 201
√ Passed [strictEqual]: true === true
referenceResponse undefined
result {"reference": "ESXXXXXX"}
Дело в том, что мне нужно восстановить значение в определении шага, чтобы я мог проверить результат на другом шаге.