JavaScript - NightWatch.js - Cucumber: как обрабатывать возвращаемые значения в определениях шагов - PullRequest
0 голосов
/ 26 сентября 2019

Я работаю в проекте с 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"}

Дело в том, что мне нужно восстановить значение в определении шага, чтобы я мог проверить результат на другом шаге.

1 Ответ

0 голосов
/ 26 сентября 2019

Вы должны хранить данные, которые вы хотите использовать на других этапах мирового класса.Вы можете прочитать больше о мировом классе здесь https://github.com/cucumber/cucumber-js/blob/master/docs/support_files/world.md

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...