【问题标题】:How return value from the function-CodeceptJS如何从函数返回值-CodeceptJS
【发布时间】:2020-03-09 04:10:18
【问题描述】:

当状态列值为“Y”时,我需要从excel文件中获取一个值,我想将名称列中的值返回给调用函数,excel表中包含的数据如下

姓名号码状态 YYYY 1234 否 XXXXXX 3456 是的

函数我写成这样

var Excel = require(‘exceljs’);

var workbook = new Excel.Workbook();
var selectStatus = ’’;

module.exports = function() {
    return actor({
        trimSelectName: function() {
            workbook.xlsx.readFile("E:/testData.xlsx")
                .then(function(sheetName) {
                    // use workbook
                    i = 1;
                    try {
                        var workSheet = workbook.getWorksheet("trim");
                        workSheet.eachRow({
                            includeEmpty: false
                        }, function(row, rowNumber) {
                            if (i == 1) {
                                i = 0;
                            } else {
                                currRow = workSheet.getRow(rowNumber);
                                console.log("Name :" + currRow.getCell(1).value + ", Number :" + currRow.getCell(2).value +
                                    "Select Status :" + currRow.getCell(3).value);
                                selectStatus = currRow.getCell(3).value;
                                if (selectStatus == "Y") {
                                    return selectStatus;
                                }


                            }

                        });
                    } catch (Error) {
                        console.log(Error);
                    }

                });

        },
    });

};

但我正在尝试从调用函数中打印值,我总是将其设为未定义

调用函数:

const selected = trimDataSelection.trimSelectName();

能否请您告诉我问题可能出在哪里?

【问题讨论】:

  • CodeceptJS 是一个用于单元测试网站的框架。你能解释一下它与这个有什么关系吗?
  • @JLRishe 是一个验收测试框架,而不是一个单元测试框架。问题相关,因为作者希望将其实现为 CodeceptJS 步骤,在代码中找出“演员”。见codecept.io/pageobjects#actor

标签: javascript node.js codeceptjs


【解决方案1】:

当我看到您的函数返回演员对象时,我假设您正在使用由 codeceptjs 生成的 steps_file,该文件用于扩展“I”对象以添加您的自定义函数。所以如果你想从场景中调用你的自定义函数,你应该这样调用它:
const selected = I.trimSelectName()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 2019-12-06
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多