【问题标题】:JavaScript - NightWatch.js - Cucumber: How To handle returned values on step definitionsJavaScript - NightWatch.js - Cucumber:如何处理步骤定义的返回值
【发布时间】:2019-09-26 08:53:12
【问题描述】:

我正在使用 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"}

问题是我需要恢复步骤定义中的值,以便能够在另一个步骤中验证结果。

【问题讨论】:

    标签: javascript nightwatch.js cucumberjs


    【解决方案1】:

    您应该将要在世界级的其他步骤中使用的数据存储起来。你可以在这里阅读更多关于世界级的信息https://github.com/cucumber/cucumber-js/blob/master/docs/support_files/world.md

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多